一、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。

 
 

最新文章

  1. Web开发技术发展历史
  2. ios中strong和weak的解释理解
  3. 如何根据iframe内嵌页面调整iframe高宽续篇
  4. xcode下编译.a文件的路径
  5. android绘画折线图一
  6. bc命令
  7. 图解Java字符串不变性
  8. NPOI的使用
  9. 基于Networks of Brokers的HA方案
  10. 手工配置Service的过程中。
  11. 条件变量signal与unlock的顺序
  12. 常用的免费Webservice接口
  13. 关于数据结构的10个面试题(c语言实现)
  14. 简单了解split()函数的性质
  15. 如果去掉UITableView上的section的headerView和footerView的悬浮效果
  16. 25)django-form使用
  17. netty解码器详解(小白也能看懂!)
  18. nginx.conf(centos7 1.14)主配置文件修改
  19. wps表格开发C#
  20. 6.18_web服务器内容

热门文章

  1. jQuery 怎么获取对象
  2. GET和POST解析
  3. MySQL的简单优化
  4. redis的图形界面管理工具
  5. ios 关于动画用法的总结
  6. SDIO卡 了解
  7. webpack与grunt/glub 的比较
  8. 使用TextView实现跑马灯的效果
  9. SPOJ:NO GCD (求集合&amp;秒啊)
  10. MongoDb复制集实现故障转移,读写分离