servlet基础概念

一、servlet是什么?

运行在Web服务器上(如:tomcat),作为浏览器请求与数据库或其他应用程序之间的中间层

二、servlet主要任务:

1.读取浏览器发送的显式数据(如:html表单)隐式数据(如:cookies);

2.处理数据并生成结果,期间可能访问数据库;

3.发送显式数据(word文档,html,xml,exl)给客户端(浏览器),或者发送隐式数据(缓存参数,cookies)).

三、包

使用javax.servlet和javax.servlet.http创建

四、生命周期

1.初始化:init();只在创建servlet对象创建后调用一次,每一个用户请求都会创建一个线程。

2.处理请求:service();自动调用doGet()和doPost()方法,可以根据需求重写。

3.结束:destory();结束数据库访问,关闭线程,cookies列表写入磁盘

4.垃圾回收:JVM的垃圾回收器

五、sevlet表单数据

1. get方法向页面发送已编码的用户信息,页面和编码之间用?分隔,请求字符串最大1024字符,密码不建议这样传输如:http://www.test.com/hello?key1=value1&key2=value2

2. post方法单独传消息,servlet使用doPost()处理

3. getParameter():您可以调用 request.getParameter() 方法来获取表单参数的值。getParameterValues():如果参数出现一次以上,则调用该方法,并返回多个值,例如复选框。

  • getParameterNames():
  • 如果您想要得到当前请求中的所有参数的完整列表,则调用该方法。

六:页面重定向:

  调用javax.servlet.http.HttpServletResponse 接口的sendRedirect()方法

七:自动刷新

Java Servlet 刷新网页的最简单的方式是使用响应对象的方法 setIntHeader()。以下是这种方法的定义:


public void setIntHeader(String header, int headerValue)

八:session跟踪


1.cookies

2.URL重写

3.隐藏的表单字段

九、删除 Session 会话数据

当您完成了一个用户的 session 会话数据,您有以下几种选择:

  • 移除一个特定的属性:您可以调用 public void removeAttribute(String name) 方法来删除与特定的键相关联的值。
  • 删除整个 session 会话:您可以调用 public void invalidate() 方法来丢弃整个 session 会话。
  • 设置 session 会话过期时间:您可以调用 public void setMaxInactiveInterval(int interval) 方法来单独设置 session 会话超时
  • 注销用户:如果使用的是支持 servlet 2.4 的服务器,您可以调用 logout 来注销 Web 服务器的客户端,并把属于所有用户的所有 session 会话设置为无效。
  • web.xml 配置:如果您使用的是 Tomcat,除了上述方法,您还可以在 web.xml 文件中配置 session 会话超时,如下所示:
  <session-config>
    <session-timeout>15</session-timeout>
  </session-config>

 

上面实例中的超时时间是以分钟为单位,将覆盖 Tomcat 中默认的 30 分钟超时时间。

在一个 Servlet 中的 getMaxInactiveInterval() 方法会返回 session 会话的超时时间,以秒为单位。所以,如果在 web.xml 中配置 session 会话超时时间为 15 分钟,那么 getMaxInactiveInterval() 会返回 900。

 
 

 

posted @ 2017-04-17 16:37  日月心诚  阅读(964)  评论(0编辑  收藏  举报