Servlet_JSP学习笔记
来源:互联网 发布:淘宝达人广场 在哪里 编辑:程序博客网 时间:2024/06/06 01:59
编码格式和乱码处理
服务器对字符流的默认输出编码格式为:ISO-8859-1;ISO-8853-1不支持中文,输出结果为问号(“?”)
用http的url传输数据的默认编码格式为:ISO-8859-1
pageEncoding="UTF-8":设置JSP编译成Servlet时使用的编码。
contentType="text/html;charset=UTF-8":指定对服务器响应进行重新编码的编码。
request.setCharacterEncoding("UTF-8"):设置对客户端请求进行重新编码的编码。
response.setCharacterEncoding("UTF-8"):指定对服务器响应进行重新编码的编码 ,即:更改服务器发送数据的默认编码
以下两者效果相同,都是通知浏览器用那种编码格式来解码
response.setHeader("content-type","text/html;charset=utf-8");//通知客户端解码方式
response.setContentType("text/hmtl;charset=utf-8")
(ContentType:内容类型;网页内容存在ContentType中)
Cookie乱码处理
cookie参数传递是通过http的url传输的,默认使用:ISO-8859-1编码格式
Cookie cookie= new Cookie("name_cookie",URLEncoder.encode(user.getUsername(),"utf-8"))
Get请求方式乱码
GET方式是用http的url传过来的默认用iso-8859-1编码的,所以首先得到的参数要再用iso-8859-1编码得到原文后,再进行用utf-8(或其他编码格式)进行解码
String str = request.getParameter("name");
String name = new String(str.getBytes("ISO-8859-1"),"utf-8");
POST方式的乱码
只需要request.setCharacterEncoding("UTF-8")即可
路径
request.getContextPath()拿到的是你的web项目的根路径,就是webRoot
request.getRequestDispathce("/...").forward(request,response) 请求转发;相对于服务器的绝对路径,在服务器内次请求一次,url地址不变
response.sendRedirect(request.getContextPath + "/...") 请求重定向; 相对于客户端来说,需要写入的文件所以服务器的地址
JSP九大隐式对象
Exception exception隐式对象
Page page隐式对象
Request request隐式对象
Response response隐式对象
ServletConfig config隐式对象
ServletContext application隐式对象
Session session隐式对象
Out out隐式对象
PageContext pageContext隐式对象
四大域对象
域:一个域就理解为一个框,这里面可以放置数据,一个域既然称作域,他就有一个可以被看见的范围,这个范围内都可以对这个域中的数据进行操作,那这样的对象就叫做域对象。
pageContext(称之为page域)
生命周期:当对jsp的请求开始时生成,当响应结束时销毁
作用范围:真个jsp页面,是四大作用域中最小的一个。
request(称之为request域)
生命周期:在service方法调用之前由服务器创建,传入service方法。整个请求结束,request生命结束。
作用范围:整个请求链。
作用:在整个请求链中共享数据,最常用的:在Servlet中处理好的数据要交给Jsp显示,此时参数就可以放置在Request域中带过去。
session(称之为session域)
生命周期:在第一次调用reqeust.getSession()方法的时候,服务器会检查是已经有对应的session,如果没有就在内存中创建一个session并返回;(当一段时间内session没有被使用,一般为30分钟(此值可以在web.xml中配置<session-config>来配置,也可以使用TomcatManager进行配置),则服务器会销毁该session;当服务器强行关闭时,没有到期的session也会跟着销毁;如果调用session提供的invalidate(),可以立即销毁session)
作用范围:整个会话
作用:为浏览器创建独一无二的内存空间,在其中保存会话相关的信息
servletContext(称之为application域)
生命周期:当web应用被加载进容器时创建代表整个web应用的ServletContext对象。当服务器关闭或web应用被移除出容器时,ServletContext对象跟着销毁。
作用范围:整个web应用
作用:在不同servlet之间传递数据
EL表达式
EL的11个内置对象
pageContext -- 有了它可以很方便的获取jsp页面中的9大隐式对象
pageScope -- page域中属性组成的Map
requestScope -- request域中属性组成的Map
sessionScope -- session域中属性组成的Map
applicationScope --application域中属性组成的Map
param -- 所有请求参数组成的Map<String,String>
paramValues -- 所有请求参数组成的Map<String,String[]>
header -- 所有请求头组成的Map<String,String>
headerValues -- 所有请求头组成的Map<String,String[]>
cookie -- 所有cookie信息组成的Map<String,Cookie>
initParam -- 所有web应用的初始化参数组成Map
(在EL表达式中获取参数时,如果没有明确指明是从哪个域检索;则默认查找顺序为:pageScope->requestScope->sessionScope->applicationScope)
Session的钝化和活化
服务器正常关闭时,还存活的session会以文件的形式保存到服务器上 --- 钝化
服务器正常开启时,会把session文件还原到内存中 --- 活化
只有实现了序列化借口的对象才可以实现钝化活化(JavaBean一般都会实现序列化接口)
0 0
- Servlet_JSP学习笔记
- 学习日志4.14--servlet_JSP
- 学习日志4.16--servlet_JSP
- 学习日志4.17---servlet_JSP
- servlet_JSP
- servlet_jsp
- Servlet_JSP深入详解_基于Tomcat的Web开发(笔记)
- Servlet_JSP(2) JSP
- 马士兵 Servlet_JSP(2) JSP源代码)
- Servlet_JSP(3) Servlet和JSP的通信
- 马士兵 Servlet_JSP(3) Servlet和JSP的通信(源代码)
- 学习笔记?
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- Two Sum
- 代理模式
- 特效相机妙用
- 银行卡输入四位加一空格
- 裸函数_与调用约定
- Servlet_JSP学习笔记
- 在 Debian 下安装 Apache,MySQL,PHP
- Dynamics CRM 安装CRM程序系统检查界面报未将对象引用设置到对象的实例的解决方法
- javascript模块化编程一
- Apache Flink fault tolerance源码剖析(三)
- Leetcode 85. Maximal Rectangle 最大矩形 解题报告
- 数据结构上机测试1:顺序表的应用
- javascript中的数据类型的问题
- 百万级查询性能优化