美文网首页
servlet复习

servlet复习

作者: 尘榆骡厌 | 来源:发表于2017-12-13 16:28 被阅读0次

    复习1:

    一.get
        1.如何编写一个servlet?
        ①创建一个类去继承HttpServlet,重写doGet|doPost方法。
        ②配置访问路径(路径是唯一的)
          1)注解
          2)xml配置
        2.响应数据:HttpServletResponse
        ①首先设置编码: HttpServletResponse.setContentType("text/html;charset=utf-8");| 
      HttpServletResponse.setCharacterEncoding("utf-8")
            ②HttpServletResponse去获取输出流:PrintWriter pw =  HttpServletResponse.getWriter(); pw.print("xxx");
    
        3.接受请求参数HttpServletRequest
            ①HttpServletRequest去调用getParameter("表单的name属性值或者url在后面追加的值")
            ②解决中文乱码 String value = new String(值.getBytes("ISO-8859-1"),"UTF-8");
    
        4.超链接是get请求
        二.post(如果直接在url输入访问路径,默认是get请求,如果没有get方法报错)
        1.post解决中文乱码请求参数的中文乱码
            HttpServletResponse.setCharacterEncoding("utf-8");
    
        三。get与post的区别:
            GET请求的特点:
    
        从使用经验上有如下总结:
    
                1.GET是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。 
                2.GET传送的数据量较小,不能大于2KB。 
                    3.GET安全性非常低 (路由器会记录请求地址)
                如下情况中浏览器会发送GET类型的请求:
                    1.在地址栏输入一个地址 
                    2.点击页面中的链接    
                    3.表单的默认提交方式 
            POST请求的特点:
                从使用经验上有如下总结:
                    1.POST是将表单内各个字段与其内容放置在实体内容中内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。 
                    2.POST传送的数据量较大,一般被默认为不受限制 
                    3.POST安全性较高,将表单的Method属性设置为POST时,浏览器会发送POST请求
            GET和POST还有一个重大区别,
                简单的说:
                    GET产生一个TCP数据包;POST产生两个TCP数据包。
                长的说:
                    对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);
                    而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。
                    也就是说,GET只需要汽车跑一趟就把货送到了,而POST得跑两趟,第一趟,
    先去和服务器打个招呼“嗨,我等下要送一批货来,你们打开门迎接我”,然后再回头把货送过去。
                    因为POST需要两步,时间上消耗的要多一点,看起来GET比POST更有效。因此Yahoo团队有推荐用GET替换.
                    POST来优化网站性能。但这是一个坑!跳入需谨慎。为什么?
                1. GET与POST都有自己的语义,不能随便混用。
                2. 据研究,在网络环境好的情况下,发一次包的时间和发两次包的时间差别基本可以无视。
    而在网络环境差的情况下,两次包的TCP在验证数据包完整性上,有非常大的优点。
                    3. 并不是所有浏览器都会在POST中发送两次包,Firefox就只发送一次。
    

    复习2:

        一.servlet生命周期
            ①实例化 <load - on - startup>x</load - on - startup>,x>=0 init方法会启动服务器的时候执行,x<0访问的时候init()才会执行
            ②初始化 init():只会执行一次
            ③就绪service():访问的时候执行
            ④销毁destory():关闭服务器的时候执行
        二.servlet四大域
            ①application:整合web
            ②session :浏览器打开到浏览器关闭
            ③request :一次请求一次响应,与转发结合使用
            ④pageContext:整个jsp页面
        三.Jsp
            1.表达式
                ①<%= ... %>(方便输出)
                ②<% ... %>(完成较长的逻辑运算)
                ③<%! ... %>(添加属性或者方法)
            2.三大指令
                ①page : 导包
                ②include : 引入页面
                ③taglib :引入第三方jar
        四。重定向与转发
            重定向:浏览器的两次请求,url会发生变化
            转  发: url不发生变化,是服务器的两次请求
    

    相关文章

      网友评论

          本文标题:servlet复习

          本文链接:https://www.haomeiwen.com/subject/oaczixtx.html