JavaWeb——Jsp交互-servlet知识简介

一.request,response和session的简介

1:request对象
代表:浏览器请求时的请求报文,请求到达服务器服务器将报文解析封装为这个对象
获取:请求到服务器是,服务器直接创建然后传入到servlet方法中,最终传入到doget中
Request对象里面包含了所有你访问时发起的请求的所有参数
2:response对象
代表:服务器给浏览器的响应报文,请求到服务器时,服务器将服务器的信息封装起来创建为此对象
获取:请求到达服务器,服务器创建此对象传入到service中最终传入到doGet中
Response对象则包含了你请求之后服务器给你的所有的响应信息
3.session对象
临时把用户数据保存在session中,起到一个临时容器的作用

二.request,response和session的常用方法

1.request.getRequestDispatcher().forword(request,response)用于转发操作
2.request.getParameter(String name) 返回name指定参数的参数值
3.request.setAttribute(String key,Object obj)设置属性的属性值
4.request.setCharacterEncoding(“utf-8”)指定请求的编码,在调用getParameter方法前调用,用于解决中文乱码
5.response.sendRedirect() 用于重定向操作

三.重定向与转发

重定向: response.sendRedirect(),作用是让客户端重定向,即客户端重新发送请求,request对象为新的,即原来 request中数据丢失 ,地址栏地址发生变化。
转发: request.getRequestDispatcher(“welcome.jsp”).forword(request,response);转发是服务器内部重定向,没有发送新的请求,故 request中数据不丢失,由于是服务器内部完成定向,故客户端地址栏不会发生变化

四.servlet向jsp传送数据并显示

Servlet存放数据有两种:
(1)将数据存入request对象中,然后转发到jsp页面,在JSP页面中用el从requestScope获取数据并显示。
(2)将数据存入session对象中,然后重定向或者转发到jsp页面,在JSP页面中用el 从sessionScope获取数据并显示。(不建议使用,原因:session域占用服务器资源)

1.EL表达式

1.可利用EL表达式表示来简化表示数据的方法

例如:
"${param.rid}" 
"${requestScope.stu.sname}"

其中"${param.rid}"可等价于request.getParament("rid")
2.要想使用EL表达式,用两种方法
1)方法1:更改web.xml的web-app标签中的命名空间,可改成如下,整个项目只改动一次

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
          http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
         version="3.0">

方法2:在jsp页面开头添加<%@ page isELIgnored="false"%>,每个页面都要加

2.ForEach循环

要想用JSTL中的ForEach循环必须在开头加上<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>ForEach循环类似与Java中的增强For循环用于遍历集合,具体使用方法如下:

 <c:forEach items="${requestScope.list}" var="reader">

items为循环的集合,var为每次遍历的变量。
以上就是今天所分享的内容,谢谢大家观看

猜你喜欢

转载自blog.csdn.net/missingtheway/article/details/106162362