zoukankan      html  css  js  c++  java
  • 马士兵Servlet&Jsp学习

    Servlet&JSP 


    1>http常见错误信息: 
    404--url地址找不找, 
    403--禁止访问 
    500--服务器内部错误 


    2>Servlet的生命周期: 
    *生命全过程:加载 ClassLoader-->实例化 new-->初始化 init(ServletConfig)-->处理请求service doGet doPost-->退出服务destroy(); 
    *整个过程只有一个servlet对象 
    *API中的过程:init()//只执行一次  destroy()//web application 退出的时候 
    注意:j2ee要求只new一个servlet,所以init()只执行一次在整个web application结束时就调用destroy(); 
                  
    3>request和response的关系: 
             |--request-->| 
    客户端-|            |--服务器; 
            |<--reponse--| 


    4>Cookie:保存到客户端的一个文本文件,与特定客户相关,以“名-值”对的形式保存数据; 


    5>Cookies特点如下: 
        1:服务器可以向客户端写内容 
        2:只能是文本内容 
        3:客户端可以阻止服务器写入 
        4:只能拿自己webapp写入的东西 
        5:Cookie分为两种:a、属于窗口/子窗口(放在内存中的) b、属于文本(有生命周期的) 
        6:一个servlet/jsp设置的cookies能够被同一个路径下面或者子路径下面的servlet/jsp读到 (路径是指URL而不是真实文件路径) 


    7>session实现方式:a、cookie实现,创建Session的时候会把SessionID保存在 


    Cookie里。b、URL实现,自己编程使用URL重写的方式实现Session; 


    8>Session总结: 
    a,服务器的一块内存(存key-value) 
    b,和客户端窗口对应(子窗口)(独一无二) 
    c,客户端和服务器有对应的SessionID 
    d,客户端向服务器端发送SessionID的时候两种方式:cookie(内存cookie)和 


    rewriten URL 
    e,浏览器禁掉cookie,就不能使用session(使用cookie实现的session) 
    f,如果想安全的使用session(不论客户端是否禁止cookie),只能使用URL重 


    写(大大增加编程负担),所以很多网站要求客户端打开cookie; 


    9>application是用于保存整个WebApplication的生命周期内都可以访问的数据; 


    10>区别:cookie记录在客户端,session记录在服务器; session对应一个窗口, 


    application对应所有客户端; 


    11>jsp声明:<%!声明为成员变量%> <%声明为局部变量%> 


    12>jsp表达式:<%=...=%> 


    13>编译指令:是在编译期间执行的指令: 
    <%@Directive 属性=“属性值”%> 
    常见的Directive有page,include,taglib; 


    14>动作指令:是在运行期间的命令 
    常见的有jsp:usebean,jsp:include,jsp:forward; 


    15>编译指令的<% include file="fileURL"%>和动作指令的<jsp:include 


    page="URL" flush="true"/">的区别:1,include编译指令是在JSP程序的转换时期就 


    将file属性所指定的程序内容嵌入,然后再编译执行;而include指令在转换时期是 


    不会被编译的,只有在客户端请求时期如果被执行到才会被动态的编译载入 


    2,Include不能带参数, 而<jsp:include>可以; 


    16><jsp:forward>与response。sendRedirect的区别: 
    <jsp:forward>: 
    a,使用同一个request; 
    b,forward后的语句不会继续发送给客户端; 
    c,速度快; 
    d,服务器内部转换; 
    e,可以传参数; 
    response.sendRedirect: 
    a,是不同的request; 
    b,send后的语句会继续执行,除非return; 
    c,速度慢; 
    d,需要客户端的往返,可以转到任何页面; 
    e,可以传参数,直接写在url后面; 


    17><jsp:usebean.../> <==> new beanname() 
       <jsp:setProperty name=“beanName” property=“propertyName”/> 
    <==>beanName.setPropertyName(); 
       <jsp:getProperty name=“beanName” property=“propertyName”/> 
    <==>beanName.getPropertyName(); 
  • 相关阅读:
    POJ2352
    POJ 2524 并查集
    A POJ1611
    树状dp--B
    spring mvc实现文件上传与下载
    Joda-Time
    JAVA对象与JSON之间的转换
    jackson-databind注解
    JPA注解
    springMVC、spring、jpa、springData整合配置
  • 原文地址:https://www.cnblogs.com/anyuan9/p/6171564.html
Copyright © 2011-2022 走看看