JSP-20200428

JSP核心、重要——交互层中最需要理解的地方。

【1】JSP:本质是Java的Servlet,将HTML的编码以文本流的方式交给客户端下载,在HTML当中,我们实际上看到的就是一个普通的前端页面。

【2】如何把浏览器当中填写的值,提交到服务当中。

      -9个内置对象:request out response application session pageContext page[只作用于jsp] config exception

      -Request:请求;由浏览器客户端,向服务器发起请求所携带的所有信息,

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

            -请求类型Method: 1 GET(默认)——希望向服务器获取数据   2 POST——希望向服务器提交数据

image

            -安全性问题:post高 get低;   ---->   安全并不是指报文安全,

            -向服务器提交请求的参数:1,在表单当中,需要指定表单元素的name属性; 2 请求到的数据默认都是String对象

【3】协议

      -http协议:明文协议

      -SSL:密文协议,需要证书

      -获取请求的参数:getParamater() getParamaterValues()

      -属性转交

            -setAttribute()

            -getAttribute()

【4】中文乱码问题

      -Post:

      1:username = new String(username.getBytes("ISO-8859-1"),"UTF-8");

      2:URIEncoding="UTF-8  ?? 对tomcat当中所有项目进行统一的编码

      3:useBodyEncodingForURI="true" ;不对字符集进行编码设置;并且支持:对gei类型请求使用 setCharacterEncoding.

      4:保证整个项目当中,所有文件的字符集统一。

     

【5】设置属性与获取;返回的是对象object

【6】转发和重定向()

      -转发:【1】所有的数据流转,全部在后台完成;【2】用户只有一次请求,并获得一次响应;【3】URL是没有任何变化的;【4】转发是将请求和响应一并带走。也就是说:可以获取原本request当中所有的参数和属性;【5】没有办法转发到工程外部资源的;【6】

      -重定向:【1】转发一次,将会通过响应流告诉客户端重新请求服务器。【2】原本的request 和 reponse 全部丢失,将会产生新的请求和响应。【3】重定向懈怠不会有属性,只有可能是参数;【4】URL会变化;【5】可以重定向到任意网络资源;

image

      -

     

【7】session【服务器是无法主动找到客户端】——浏览器和服务器是通过发送请求,获取请求。

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

      -客户端和服务器的交流,都可能是客户端轮询。

      -Session可以保存属性

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

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

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

              -session为客户端用户共享

              -默认时长:30分钟

      -session.remove() ——移除某个属性

      -session.invalidate() ——会话失效


【8】Application

      -整个服务器共享

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

【9】四个作用域: setAttribute\getAttribute     ——注意:response,不是作用域

      -Page:只作用于当前的jsp

      -Request:作用于一次请求

      -Session:作用于一次会话

      -Application:作用于整个工程

【10】Cookie——敏感的数据:密码、银行账号等,

      -将数据保存在客户端

      -保存的上限是7天

      -有极大的安全隐患

      -用户是可以禁止Cookie的

      -Cookie第一次请求如果没有SessionId,会由客户端生成一个SessionId交给服务器

      -最好不要把敏感的数据放在Cookie里。






exclusds:

1.pom工程:用在父级工程或聚合工程中。用来做jar包的版本控制。

2.war工程:将会打包成war,发布在服务器上的工程。如网站或服务。

3.jar工程:将会打包成jar用作jar包使用。

补充一下,jdk9 后还可以打包 jmod(Java 模块化),厉害的是这个通过 jlink 命令,可以直接将 jmod 打包为对应环境的可执行的程序,告别了让用户安装 jdk 的步骤,现在也有对应的 maven 插件了


      -hadoop 协议:SSH

posted @ 2020-04-29 09:49  小海_macro  阅读(109)  评论(0编辑  收藏  举报