JAVA高级工程师课程笔记整理——(十)Servlet

来源:互联网 发布:怎样在淘宝上做兼职 编辑:程序博客网 时间:2024/06/05 20:38
(十)Servlet
    将显示与接受请求、处理请求的工作分开
    运行在服务器端的java程序
    jsp和servlet的关系
    jsp最终会转换成servlet java程序
    
    创建servlet
        a.实现servlet接口
        b.继承GenericServlet
        c.继承HttpServlet(常用方式)
        
    servlet 中 printwriter输出中文
    乱码问题:
        response.setContentType("text/html; charset=UTF-8");
        response.setCharacterEncoding("UTF-8");
    servlet的生命周期:
        初始化:
            当浏览器客户端第一次发出请求访问
            servlet时,调用init方法进行初始化,
            并且只初始化一次
        销毁:
            当web服务器关闭时 ,调用
            distory方法进行销毁
    servlet中获取session
        request.getSession();
            
    路径:
        相对路径
        绝对路径 ${pageContext.request.contextPath}
            
servletConfig
    九大内置对象:
    out,response,request,session,application
    config,exception,page,pageContext
    作用:
        配置初始化servlet参数
        this.getServletConfig();
    servletConfig.getInitParameter("charSetContent");

    jsp                  servlet
    out                  PrintWriter
    request              HttpServletRequest
    response             HttpServletResponse
    session              HttpSession
    application          ServletContext
    config               ServletConfig
    exception            Throwable
    page                 this
    pageContext          
    
ServletContext(三大框架整合使用了)
    this.getServletContext();
    等同于jsp页面的application
    ServletContext可以获取全局的初始化参数
    <!-- 全局初始化参数  web服务一启动进行初始化 -->
      <context-param>
        <param-name>contextName</param-name>
        <param-value>contextUTF8</param-value>
      </context-param>
 
    获取全局初始化参数:
        servletContext.getInitParameter("");
过滤器
        作用:    
            过滤请求和响应
        <url-pattern>/*</url-pattern>
            过滤该web项目的所有请求和响应
        实现Filter接口
        过滤器的生命周期:
            初始化:web服务器启动时初始化
            销毁:web服务器关闭时销毁

    FilterConfig
        获取过滤器初始化参数

监听器
    监听某种事件并完成相应的处理
    八种监听器
    1.监听session,servletContext,request的创建销毁
         HttpSessionListener
        *ServletContextListener(spring框架使用)
         ServletRequestListener
    2.监听session,servletContext,request域中对象
        创建和移出  (setAttribute,removeAttribute)
        *HttpSessionAttributeListener
         ServletContextAttributeListener
         ServletRequestAttributeListener
    3.自我感知类型监听器(不需要在web.xml配置监听)
        *HttpSessionBindingListener
         HttpSessionActivationListener
    在web.xml配置监听
        ServletContext在web服务器启动时创建,关闭时销毁
                     
    案例:监听器监听在线人数
    
文件上传
    commons-fileupload-1.2.2.jar和commons-io-2.4.jar
    表单:
        method: post
        enctype:multipart/form-data
        input type  : file
    //步骤
    1、创建DiskFileItemFactory
    2、创建ServletFileupLoad(上传文件的核心类)    
    
        文件上传就是文件复制
阅读全文
0 0
原创粉丝点击