JSP实现数据传递-jsp文件

JSP内置对象

九种对象简介:

  1. out对象:用于向客户端、浏览器输出数据。
  2. request对象:封装了来自客户端、浏览器的各种信息。
  3. response对象:封装了服务器的响应信息。
  4. exception对象:封装了jsp程序执行过程中发生的异常和错误信息。
  5. config对象:封装了应用程序的配置信息。
  6. page对象:指向了当前jsp程序本身。
  7. session对象:用来保存会话信息。也就是说,可以实现在同一用户的不同请求之间共享数
  8. application对象:代表了当前应用程序的上下文。可以在不同的用户之间共享信息。
  9. 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”/>

如图:

JSP实现数据传递

表单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作用域:在二次请求的范围内

转发和重定向的区别:

  1. 行为区域的区别:转发是服务器端的行为区域,重定向是客户端行为区域
  2. URI:转发不会发生变化,重定向会改变地址栏的URL
  3. 请求问题:转发是一次请求,重定向是两次请求
  4. 跳转区域问题:转发不可以跳转到第二个项目,重定向可以地址会发生改变(跳转到第二个项目)
  5. 携带请求问题:转发可以携带request相关信息,重定向不会携带

JSP实现数据传递

推荐阅读