JSP_core

JSP:交互层中最重要的概念

【1】JSP——将HTML的编码以文件流的方式交给客户端下载,在HTML当中实际就是一个普通的前端yemian 。

【2】将浏览器当中填写的值,提交到服务器当中&写入到数据库当中

【3】

JSP的9个内置对象:在jsp当中都属于局部变量!

请求对象:request

② 输出对象:out

响应对象:response

④ 应用程序对象:application

⑤ 会话对象:session

⑥ 页面上下文对象:pageContext

⑦ 页面对象:page(只作用于jsp)

⑧ 配置对象:config

⑨ 异常对象:exception

Request:请求,由浏览器客户端,向服务器发起请求所携带的所有信息,都包含在Request对象当中

【1】向服务器发起请求方式:

      -表单:action指向请求到服务器的资源

      -请求类型 Method: get[默认]:希望从服务器获取数据 / post:希望像服务器提交数据

      -向服务器提交请求的参数:在表单当中需要提交的元素指定name;且大小写敏感;获取到的所有数据默认都是String类型

      -

【2】注意GET&POST得区别

      -servlet基础知识:必问。

      -image

【3】HTTP协议:明文协议;SSL:密文协议——需要证书

      -请求类型安全,不是指报文得安全;而是url中不会出现参数得值

      -微信中可转发得链接就是get请求

      -中文乱码问题:原因是西欧编码集,但是不支持中文。【保证整个项目当中得字符集统一!】

            -POST:获取参数前:request.setCharacterEncoding("UTF-8");

            -GET:

                 【1】对某个参数进行编码:username = new String(username.getBytes("ISO-8859-1"),"UTF-8");

                 【2】对server.xml文件配置:URIEncoding="UTF-8"【对tomcat当中得所有项目进行统一编码】 + server 得post\get设置军取消

                 【3】设置: URIEncoding="UTF-8" + useBodyEncodingForURI="true" 【Server.xml文件中】  + server.jsp:request.setCharacterEncoding("UTF-8"); 设置对post\get均生效!

            -POST:

【4】表单元素提交:

      -name   : request.getParameter("jg");

      -request.getParameterValues(“jg”);

      -value  : 通过name获取到得value值

      -radio、checkbox、select 均有value

属性得转交:

      -setAttribute

      -getAttribute

转发和重定向

      -转发:request.getRequestDispatcher("server3.jsp").forward(request, response);  || request.getAttribute("newUserNamestr");//通过属性获取,返回object对象

            -所有的数据流转,全部在后台完成

            -用户只有一次请求i,并获得一次响应

            -URL是没有任何变化的

            -请求与响应可以一并带走,即:可以获取原本request当中所有的参数与属性

      -重定向:response.sendRedirect("server3.jsp?newUserNamestr="+username);   ||  request.getParameter("newUserNamestr"); //通过参数获取

            -转发一次,将会通过响应流告诉客户端重新请求服务器

            -原本的request和response全部丢失,将会产生新的请求和响应

            -转发就是一个普通的get请求

            -重定向携带的不会有属性,只有可能是参数

            -URL可以重定向到任意网址

            -image

      【重定向是客户端行为,转发是服务器行为】

Session:会话

      -客户端与服务器之间建立会话后,在该会话当中,产生若干次请求和响应。

      -客户端和服务器的交流,只有可能是客户端轮询。【服务器是无法找到客户端的,进行数据推送】

      -Session可以保存属性:

           -第一次请求抵达服务器后,服务器生成一个sessionId,并将该sessionId作为本次会话的唯一凭证。 以后每次会话的亲贵,都会携带者sessionId。

           -正常在不超时的情况下,只要浏览器不关闭,session就不会中断

           -session可以作为服务器和客户端一次会话的缓存

           -不同IP的session数据是不共享的

会话的清除和过期:

           -Session默认是30分钟生效【无操作情况】

           -invalidate()  //将当前会话失效

           -setAttribute() |  getAttribute() |  removeAttribute()

Application:整个服务器共享

      -所有的用户都可以获取这里的数据

      -

Cookie:将数据保存在客户端【对于敏感的数据,如银行密码,账号】_放在服务器即可!{不要放在服务器以外的任何地方}

cookie第一请求如果没有sessionId,会由客户端生成一个sessionId交给服务器

      -将数据保存在客户端

      -保存的上限是7天

      -有极大的安全隐患

      -支持用户禁止Cookie

JSP的四个作用域

【1】session:作用于一次会话

【2】request:作用于一次请求

【3】application:作用于整个工程

【4】page:只作用于当前的jsp

!!!:response不是作用域

猜你喜欢

转载自www.cnblogs.com/macro-renzhansheng/p/13204608.html