JSP内置对象
九种对象简介:
- out对象:用于向客户端、浏览器输出数据。
- request对象:封装了来自客户端、浏览器的各种信息。
- response对象:封装了服务器的响应信息。
- exception对象:封装了jsp程序执行过程中发生的异常和错误信息。
- config对象:封装了应用程序的配置信息。
- page对象:指向了当前jsp程序本身。
- session对象:用来保存会话信息。也就是说,可以实现在同一用户的不同请求之间共享数
- application对象:代表了当前应用程序的上下文。可以在不同的用户之间共享信息。
- pageContext对象:提供了对jsp页面所有对象以及命名空间的访问。
JSP实现数据传递-表单为例
根据表单名称获取提交的数据信息:
request.getParameter(“name”)返回的是一个String
获取表单对应多个值时的请求数据信息:
request.getParameterValues(“name”)返回的是一个String数组需要遍历
解决中文乱码问题
< form action=”Welcome.jsp” method=”get” >
表单get方式提交,中文乱码处理-治标:
request.getParameter(“name”)返回的是一个String
返回的值.getByte(“ISO-8859-1”)=byte[] 数组名 以ISO-8859-1的格式打散
String name=new String(数组名,”格式”)或者
new String(返回的值.getByte(“ISO-8859-1”),utf-8)返回是一个String类型
表单g所有方式提交,中文乱码处理-治本:
修改Tomcat配置文件
配置tomcat\conf\server.xml文件
connectionTimeout=”20000”
redirectPort=”8443” URIEncoding=”utf-8”/>
如图:
表单post方式提交,中文乱码处理:
request.setCharacterEncoding(“utf-8”)
response.setCharacterEnconding(“utf-8”)
在请求中存取属性
在请求中保存属性:
public void setAttribute(String name,Object o)
request.setAttribute(mess,”注册失败”)
在请求中获取属性:
public Object getAttribute(String name)
注意:
1.在使用属性值的时候要做非空判断,否则会出现空指针
2.它的返回值类型是Object类型,需要做数据类型的转换
转发与重定向:
转发:
RequestDispatcher对象
forward()方法
1.requestDispatcher(“url”).forward(request,response)
< jsp:forward page=”url” >
重定向:
response.sendRedirect(request.getContextPath(到上文)+”url”)
通过编码URLEncode.encode(String,格式)
或者解码URLDecode.Decode(String,格式)
作用域问题:
request作用域:在一次请求的范围内
response作用域:在二次请求的范围内
转发和重定向的区别:
- 行为区域的区别:转发是服务器端的行为区域,重定向是客户端行为区域
- URI:转发不会发生变化,重定向会改变地址栏的URL
- 请求问题:转发是一次请求,重定向是两次请求
- 跳转区域问题:转发不可以跳转到第二个项目,重定向可以地址会发生改变(跳转到第二个项目)
- 携带请求问题:转发可以携带request相关信息,重定向不会携带