- 当浏览器请求一个网页时,它会向网络服务器发送一系列不能被直接读取的信息,因为这些信息是作为HTTP信息头的一部分来传送的
- request对象是javax.servlet.http.HttpServletRequest类的实例。每当客户端请求一个页面时,JSP引擎就会产生一个新的对象来代表这个请求。
request对象提供了一系列方法来获取HTTP信息头,包括表单数据,cookies,HTTP方法等等如下
序号 | 方法& 描述 |
---|---|
1 | Cookie[] getCookies() 返回客户端所有的Cookie的数组 |
2 | String getCharacterEncoding() 返回request的字符编码集名称 |
3 | String getParameter(String name)返回此request中name指定的参数,若不存在则返回null |
4 | String getPathInfo()返回任何额外的与此request URL相关的路径 |
5 | String[] getParameterValues(String name) 返回指定名称的参数的所有值,若不存在则返回null |
6 | int getServerPort() 返回服务器端口号 |
7 | int getIntHeader(String name) 返回指定名称的request信息头的值 |
8 | String getRemoteHost()返回客户端的完整名称 |
9 | String getRemoteAddr() 返回客户端的IP地址 |
演示:
注册用户(对象request跳转页面)
思路:先写一个logging.jsp里面写好注册的样式,用action属性连接check.jsp,通过request对象的方法取值来检测是否注册成功,若注册成功使用对象request跳转页面到sucess.jsp,没有则输出跳转失败
- request.getRequestDispatcher(“success.jsp”).forward(request, response);//页面跳转的第二种方式:请求转发,可以获取到数据,且地址栏没有变
logging.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="check.jsp" method="post">
用户名:<input type="text" name="uname"></br>
密码:<input type="password" name="upwd"></br>
<input type="submit" value="登录"></br>
</form>
</body>
</html>
check.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
String name= request.getParameter("uname");
String pwd= request.getParameter("upwd");
if(name.equals("zlj")&&pwd.equals("1223455678")){
// response.sendRedirect("success.jsp");//页面跳转的第一种方式:重定向,导致数据丢失
request.getRequestDispatcher("success.jsp").forward(request, response);//页面跳转的第二种方式:请求转发,可以获取到数据,且地址栏没有变
}else
out.println("登录失败");
%>
</body>
</html>
success.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
登录成功</br>
welcome
<%
String name=request.getParameter("uname");
out.print(name);
%>
</body>
</html>
输入错误密码,登录显示
输入正确密码,登录显示