-
//处理form表单中method为post请求的转码
request.setCharacterEncoding(“utf8”);
//key——value键值对
request.setAttribute(<String>,<Object>);
//通过字符串获取到value值,并且需要用一个Object类型的变量来接收,也可以强制转换,比如String类型的
request.getAttribute(<String>);
//请求转发(一个请求,一个响应)有时候跳不到main页面,但可以取到main页面的内容,可传值
request.getRequestDispatcher(“main.jsp”).forward(request,response);
//请求重定向(两个请求,两个响应)一般不传值
request.sendRedirect(“main.jsp”);
下面是请求转发的工作原理
对于request的实际操作
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <form action="loginDo.jsp" method="post"> <table> <tr><td>用户名:</td><td><input type="text" name="uname"></td></tr> <tr><td>密 码:</td><td><input type="password" name="upwd"></td></tr> <tr><td><input type="submit" value="登录"></td></tr> </table> </form> </body> </html>这个是登陆界面login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.util.ArrayList"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <% request.setCharacterEncoding("utf8"); //1、处理post请求 //2、处理get请求 new String(request.getParameter().getBytes("ISO-8859-1"),"utf8"); String name=request.getParameter("uname"); String pwd=request.getParameter("upwd"); System.out.println(name+"====="+pwd); ArrayList<String> alist=new ArrayList<String>(); alist.add("aaaaaa"); alist.add("bbbbbbbb"); alist.add("ccccccc"); request.setAttribute("hhhh", alist); // key -value 键值对 //response.sendRedirect("main.jsp"); //请求的重定向(两个请求,两个响应) request.getRequestDispatcher("main.jsp").forward(request, response); //请求转发(一个请求,一个响应) %> </body> </html>这个是处理页面loginDo.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"
import="java.util.ArrayList"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
ArrayList<String> alist=(ArrayList<String>)request.getAttribute("hhhh");
for(int i=0;i<alist.size();i++){%>
<%=alist.get(i) %>
<%}
%>
</body>
</html> -
这个是主页面
转载于:https://my.oschina.net/cannianguaishushu/blog/687446
本文详细介绍了Java Web开发中请求转发与重定向的区别及其使用场景。通过具体实例展示了如何实现请求转发并传递参数,同时对比了请求转发与重定向的不同之处。
1705

被折叠的 条评论
为什么被折叠?



