您的位置:首页 > 理论基础 > 计算机网络

javaweb基础(Http协议、Servlet编程、会话管理)

2016-12-01 20:39 573 查看
一、Http协议:

                  1)http协议: 对浏览器客户端和服务器端之间数据传输的格式规范。

                  2)http请求:浏览器->服务器端

                                   格式:

                                            请求行(请求方式(GET/POST) 请求资源(URI) http协议版本(http1.1))

                                            请求头(键值对形式存在。 host、user-agent、referer)

                                            一个空行

                                            实体内容(POST提交的参数)

                                  
HttpServletRequest对象:请求对象。获取请求信息。

                                  
请求行:request.getMethod()   request.getRequestURI/getRequestURL()  request.getProtocol();

                                  
请求头: request.getHeader("name")    request.getHeaderNames() 

                                  
实体内容: request.getInputStream()

 

                                  
获取参数数据:(GET或POST)

                                                     request.getParameter("name") 
一个值的参数

                                                     request.getParameterValues("name");多个值的参数

                                                     request.getParameterNames()   
所有参数

                                                    

                  3)http响应: 服务器->浏览器端

                                   格式:

                                            响应行(http协议版本 状态码 描述)

                                                     常用的状态码: 200   302  404  500

                                            响应头( location(结合302状态码完成请求重定向功能)、 refresh(定时刷新)、content-type、                                                         content-disiposition(以下载方式打开))

                                            一个空行

                                            实体内容

                                  
HttpServletResponse对象:响应对象。设置响应信息。

                                           
响应行: response.setStatus();

                                           
响应头:response.setHeader("name","value")

                                           
实体内容:

                                                             (PrintWriter)response.getWriter().writer();
字符内容

                                                      
(OutputStream)response.getOutputStream().writer(); 
字节内容

二、Servlet编程

          1)Servlet生命周期(重点)

                  构造方法:创建servlet对象。默认情况下,第一次访问servlet对象时。只调用1次。

                  init方法(有参):创建完servlet对象后调用。只调用1次。

                                   注意:会调用无参的init方法。

                  service方法: servlet提供服务的方法。每次发出请求调用。

                                   注意: request对象 ,response对象

                  destroy方法: tomcat服务器停止或web应用重新部署,servlet对象销毁,destroy方法被调用。

         2)ServletConfig对象

                          获取servlet的初始化参数:

                                   getInitParameter("name        ");

                                   getInitParameterNa
4000
mes();

         3)ServletContext对象

                          得到web应用路径:

                                            context.getContextPath();

                                            request.getContextPath();  等价于上面的代码

                          得到web应用参数:

                                            context.getInitParameter("name");

                                            context.getInitParameterNames();

                          域对象:

                                            context.setAttribute("name",Object):保存数据

                                            context.getAttribute("name")   得到数据

                                            context.removeAttribue("name")  清除数据

                          转发

                                            context.getRequestDispatcher("路径").forward(request,response);

                                            request.getRequestDispacher("路径").forward(request,response); 等价于上面的代码

                          得到web应用中的资源文件

                                            context.getRealPath("路径")

                                            context.getResourceAsStream("路径");

 

三、会话管理

                  1)会话管理:管理浏览器和服务器之间的会话过程中产生的会话数据

                  2)Cookie技术: 会话数据保存在浏览器客户端。

                                   Cookie核心的API:

                                                     2.1在服务器端创建Cookie对象

                                                                      Cookeiecookie = new Cookie("name","value");

                                                     2.2把cookie发送给浏览器端(通过响应头:set-cookie)

                                                                      response.addCookie(cookie);

                                                     2.3 浏览器带着cookie信息访问服务器(通过请求头:cookie),服务器得到cookie信息

                                                                      Cookie[]cookies = request.getCookies();

 

                          局限:

                                            1)只能保存字符串类型,不能保存中文

                                            2)一个cookie不能超过4kb

                  3)Session技术:会话数据保存在服务器端。(内存)

                                   Session核心的API:

                                                     3.1创建或得到session对象      

                                                                      HttpSessionsession = request.getSession(); //创建或得到session对象

                                                                      request.getSession(false);//得到session对象

                                                     3.2会话数据保存session对象中,和得到会话数据

                                                                      session.setAttribute("name",Object);  保存数据

                                                                      session.getAttribute("name")   得到数据

                                                                                       

                                   注意:

                                                     1)session.setIntactiveInterval(时间);   设置session过期时间

                                                     2)session.invalidate()  手动销毁session对象

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: