• 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。

     
     
  • 相关阅读:
    Java学习-008-判断文件类型实例
    Java学习-007-Log4J 日志记录配置文件详解及实例源代码
    Java学习-006-三种数据库连接 MySQL、Oracle、sqlserver
    Java学习-005-初学常用的几个经典循环控制源代码
    Selenium2学习-009-WebUI自动化实战实例-007-Selenium 8种元素定位实战实例源代码(百度首页搜索录入框及登录链接)
    TestNG学习-002-annotaton 注解概述及其执行顺序
    C#设计模式之一单例模式(Singleton Pattern)【创建型】
    C#设计模式之二十三解释器模式(Interpreter Pattern)【行为型】
    C#设计模式之二十二备忘录模式(Memento Pattern)【行为型】
    C#设计模式之二十一访问者模式(Visitor Pattern)【行为型】
  • 原文地址:https://www.cnblogs.com/Lxiaojiang/p/6723587.html
Copyright © 2020-2023  润新知