jsp和Servlet中的请求转发分别如何实现?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsp和Servlet中的请求转发分别如何实现?相关的知识,希望对你有一定的参考价值。
你好:jsp有两种,一种是response.sendRedirect("转发地址"),另外一种就是request.getRequestDispatcher("转发地址").forward(request,response) ;你要注意,jsp其实就是servlet所以,servlet的请求转发也是这样的。 参考技术A jsp request.getRequestDispatcher("/*.jsp").forward(request,response);servlet sendRedirect()方法原理:
1,客户端发送请求,Servlet1做出处理。
2,Servlet1调用sendReadirect()方法,将客户端的请求 重新定位 到Servlet2。
3,客户端浏览器访问Servlet2.
4,Servlet2对客户端浏览器做出响应。
forward()方法原理:
1,客户端发送请求,Servlet1做出处理。
2,Servlet调用forward()方法,将请求转发给Servlet2来处理请求,为客户端服务.
3,Servlet2对客户端浏览器做出响应。 参考技术B <jsp:forward/>或<jsp:include/>
request.getRequstDispatcher("").forward();
request.getRequstDispatcher("").include();
Web_Servlet和jsp页面数据交互,通过请求转发在jsp中显示数据
1.Servlet页面代码
/* 实现jsp页面和sevlet页面的信息交互 */ @WebServlet(urlPatterns = "/aa") public class JspService extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request,response); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //以键值对存储数据 request.setAttribute("name","张三丰"); //进行页面跳转,把信息传过去 request.getRequestDispatcher("/demojsp.jsp").forward(request,response); } }
2.Jsp页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <div> <font color="#808080"><%=request.getAttribute("name")%></font> </div> </body> </html>
以上是关于jsp和Servlet中的请求转发分别如何实现?的主要内容,如果未能解决你的问题,请参考以下文章
Web_Servlet和jsp页面数据交互,通过请求转发在jsp中显示数据
jsp如何转发到其他域,如我的项目http://localhost/test/test.jsp 在这个界面如何转发到www.baidu.com?