zoukankan      html  css  js  c++  java
  • 重定向和servlet生命周期

    重定向
    (1)什么是重定向
    服务器通知浏览器向一个新的地址发送请求。
    注:可以发送一个302状态码和一个Location消息头。(该消息头包含了一个地址,称之为重定向地址),浏览器收到之后,会立即向重定向地址发送请求。
    (2)如何重定向
    response.sendRedirect(String url);
    注:
    a.url就是重定向地址。
    b.重定向之前,容器会先清空response对象中保存的数据。
    (3)特点
    a.重定向地址是任意的。
    b.重定向之后,浏览器地址栏的地址会发生改变。


    1.数据库处理中文需要注意的问题
    数据库中的某些驱动,默认会使用“iso-8859-1”来编码,对于中文就会发生乱码。
    解决方式:
    mysql:
    jdbc:mysql://localhost:3306/数据库名?
    useUnicode=true&characterEncoding=utf-8 

    2.servlet的生命周期
    (1)什么是servlet的生命周期
    容器如何去创建servlet对象,如何对其进行初始化处理,如何调用其方法来处理请求,以及如何销毁该对象的整个过程。
    (2)生命周期分为哪几个阶段
    1)实例化
    a.什么是实例化?
    容器调用servlet的构造器,创建相应的对象。
    b.什么时候实例化?
    情况1:容器收到请求之后。
    情况2:容器启动之后,立即创建。
    <load-on-startup></load-on-startup>
    参数值要求是一个大于等于0的整数,越小,优先级越高(即先创建)。
    注:容器只会创建一个实例。
    2)初始化
    a.什么是初始化
    容器调用servlet对象的init方法。该方法只会执行一次。
    b.GenericServlet的init方法时如何实现的。
    将容易传递过来的ServletConfig对象保存下来,并且提供了一个获得该对象的方法(getServletConfig)。
    c.只需要覆盖override GenericServlet提供的init()方法。
    d.初始化参数
    step1,配置
    <init-param>
    <param-name>company</param-name>
    <param-value>西北工业大学</param-value>
    </init-param>
    step2,读取
    String ServletConfig.getInitParameter(String paramName);
    3)就绪
    4)销毁
    (3)相关的及各类与接口
    1)Servlet接口
    init
    service
    destory 
    2)GenericServlet抽象类
    实现了Servlet接口中的部分方法(init,destory)
    3)HttpServlet抽象类
    继承了GenericServlet抽象类,实现了service方法。

    3.容器如何处理请求资源路径
    比如,在浏览器地址栏输入:http://ip:port/web04-3/abc.html
    step1,容器依据应用名("/web04-3")找到应用所在的文件夹。
    step2,容器默认会认为调用的是一个servlet,去web.xml查找有没有一个和“/abc.html”匹配的servlet。
    (1)精确匹配
    <url-pattern>/abc.html</url-pattern>
    (2)通配符匹配
    使用“*”匹配0个或者多个字符,比如<url-pattern>/*</url-pattren>
    (3)后缀匹配
    使用“*.”开头,后接多个字符,比如<url-pattern>*.do</url-pattren>会匹配所有以.do结尾的请求。
    step3,如果没有匹配的servlet,则容器会查找相应的文件。

  • 相关阅读:
    Java实现 蓝桥杯 算法训练 Number Challenge(暴力)
    Java实现 蓝桥杯 算法训练 Number Challenge(暴力)
    Java实现 蓝桥杯 算法训练 Number Challenge(暴力)
    Java实现 蓝桥杯 算法训练 Rotatable Number(暴力)
    Java实现 蓝桥杯 算法训练 Rotatable Number(暴力)
    Java实现 蓝桥杯 算法训练 Rotatable Number(暴力)
    Java实现 蓝桥杯 算法训练 猴子吃包子(暴力)
    Java实现 蓝桥杯 算法训练 猴子吃包子(暴力)
    Java实现 蓝桥杯 算法训练 猴子吃包子(暴力)
    Python位运算符
  • 原文地址:https://www.cnblogs.com/crazypokerk/p/8986744.html
Copyright © 2011-2022 走看看