servlet学习笔记

1.Servlet的继承关系  

  • ServletConfig  Servlet的配置信息,常用来在Servlet初始化时进行信息传递     

  1.getServletContext()  获取Servlet运行的上下文环境对象,可以获取对应信息(如Servlet路径),存取容量级的变量

  2.getInitParameter(String name)  获取初始化参数(web.xml中配置的init-param)

  • GenericServlet  一般的Servlet,实现了Servlet和ServletConfig接口

  1.init(ServletConfig config)  初始化方法,方法中调用了init()

             2.init()  初始化方法,方法体为空,主要用于自定义Servlet的覆盖

             3.service(ServletRequest request, ServletResponse response)  抽象方法service,要求继承类实现

             4.destory()  Servlet销毁前要执行的方法

  • HttpServlet  基于HTTP协议的实现类

            1.service(ServletRequest request, ServletResponse response) 实现了GenericServlet的抽象方法,调用了                                        service(HttpServletRequest, HttpServletResponse)

            2.service(HttpServletRequest request, HttpServletResponse response)  根据请求的不同调用了doGet或doPost方法

            3.doGet()  处理GET方式的请求

            4.doPost()  处理POST方式的请求

      2.Servlet的生命周期

              详见 :https://www.cnblogs.com/deng-cc/p/7462866.html

 

 

3.cookie、session理解

      cookie:浏览器端会话技术
     session:服务器端会话技术
               cookie是由服务器生成,通过response将cookie写回浏览器(set-cookie),保留在浏览器上,下一次访问,浏览器根据一定的规则携带不同的cookie(通过request的头 cookie),我们服务器就可以接受cookie
           cookie的api:
                      new Cookie(String key,String value)
          写回浏览器:
                   response.addCookie(Cookie c)
        获取cookie:
                   Cookie[] request.getCookies()
       cookie的常用方法:
                  getName():获取cookie的key(名称)
                 getValue:获取指定cookie的值

       session:
                服务器端会话技术.
                      当我们第一次访问的服务器的时候,服务器获取id,能获取id, 要拿着这个id去服务器中查找有无此session
                      若查找到了:直接拿过来时候,将数据保存,需要将当前sessin的id返回给浏览器
                      若查找不到:创建一个session,将你的数据保存到这个session中,将当前session的id返回给浏览器
             不能获取id
                      创建一个session,将你的数据保存到这个session中,将当前session的id返回给浏览器
    
            获取一个session:
                    HttpSession  request.getSession()

cookie 和session 的区别:

       1、cookie数据存放在客户的浏览器上,session数据放在服务器上。

       2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
            考虑到安全应当使用session。

      3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
           考虑到减轻服务器性能方面,应当使用COOKIE。

     4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

     5、所以个人建议:
          将登陆信息等重要信息存放为SESSION
          其他信息如果需要保留,可以放在COOKIE中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值