jsp和servlet中实现页面跳转的方式实例总结

本文实例总结了jsp和servlet中实现页面跳转的方式。分享给大家供大家参考,具体如下:

假设要求从test1.jsp 跳转到test2.jsp

一. jsp中跳转:

1. 使用RequestDispatcher.forward方法转发

<%
 RequestDispatcher rd = getServletContext().getRequestDispatcher("/test/test2.jsp");
 rd.forward(request, response);
%>

2. response.sendRedirect 重定向

<%
  response.sendRedirect("test2.jsp");
%>

3.  使用forward标签

代码如下:

<jsp:forward page="test2.jsp"/>

4. html标记中的meta标记

代码如下:

<meta http-equiv="refresh" content="0; url=test2.jsp">

5. 使用response.setHeader

<%
int stayTime=0;
String URL="test2.jsp";
String content=stayTime+";URL="+URL;
response.setHeader("REFRESH",content);
%>

6. 使用response.setHeader和response.setStatus 发送重定向请求

<%
 response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
 String newLocation = "test2.jsp";
 response.setHeader("Location",newLocation);
%>

7. 使用javascript脚本

<script type="text/javascript">
window.location.href="test2.jsp";
</script>

二. servlet中跳转:

假设 从 servlet中跳转到test2.jsp

1. forward

ServletContext sc = getServletContext();
RequestDispatcher rd = sc.getRequestDispatcher("/test/test2.jsp"); //定向的页面
rd.forward(request, response);
public class ForwardServlet extends HttpServlet {
 public void doGet(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {
 String id = request.getParameter("id");
 response.setContentType("text/html; charset=gb2312");
 ServletContext sc = getServletContext();
 RequestDispatcher rd = sc.getRequestDispatcher("/test/test2.jsp"); //定向的页面
 rd.forward(request, response);
 }
 public void doPost(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {
 doGet(request, response);
 }
}

2. sendRedirect

package com.yanek.test;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class RedirectServlet extends HttpServlet {
 public void doGet(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {
 String id = request.getParameter("id");
 response.setContentType("text/html; charset=gb2312");
 response.sendRedirect("test/test2.jsp");
 }
 public void doPost(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {
 doGet(request, response);
 }
}

希望本文所述对大家JSP程序设计有所帮助。

(0)

相关推荐

  • JSP+Servlet+JavaBean实现登录网页实例详解

    本文实例讲述了JSP+Servlet+JavaBean实现登录网页的方法.分享给大家供大家参考.具体如下: 这里涉及到四个文件: 1. 登录页面:login.html 2. 登录成功欢迎页面:login_success.jsp 3. 登录失败页面:login_failure.jsp 4. Servlet处理文件:LoginServlet.java 其实还涉及到一个文件:web.xml,这个后面再说: 下面分别介绍这几个文件: 1. 登录页面:login.html <!-- 该Login页面是一个

  • JSP+Servlet制作Java Web登录功能的全流程解析

    0.新建web项目 首先,在MyEclipse里新建java web项目,项目名为login.此时,项目中包含一个src文件夹和一个WebRoot文件夹,以及Java Web自带的JRE库文件夹和J2EE库文件夹.其中,在WebRoot文件夹下,包含了WEB-INF文件夹和一个index.jsp页面文件. 接下来,新建一个JSP页面,命名为login.jsp. 项目文件的结构如下: 1.设计login.jsp页面 打开login.jsp页面后,修改第一行的代码为pageEncoding="utf

  • JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)

    下面通过通过图文并茂的方式给大家介绍JavaWeb实现用户登录注册功能实例代码,一起看看吧. 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据. Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式. 这里以一个最常用的用户登录注册程序来讲解Servlet+JS

  • JSP使用Servlet作为控制器实现MVC模式实例详解

    本文实例讲述了JSP使用Servlet作为控制器实现MVC模式的方法.分享给大家供大家参考.具体如下: 一.目标: ① 初步理解MVC模式: ② 掌握Servlet的编写: ③ 使用MVC模式完成登录功能. 二.主要内容: ① 分析JSP+JavaBean模式存在的问题,并介绍JSP+JavaBean+Servlet模式,以及和MVC模式的关系: ② 通过简单实例介绍Servlet的编写.配置和运行: ③ 采用Servlet完成登录功能的控制. 1. JSP+JavaBean这种模式存在的问题?

  • jsp+servlet+javabean实现数据分页方法完整实例

    本文实例讲述了jsp+servlet+javabean实现数据分页方法.分享给大家供大家参考,具体如下: 这里秉着且行且记的心态,记录下学习过程,学得快忘得快,生怕遗忘,以备日后使用. 用到的部分代码是自己在网上查找,并自己修改,加上自己的理解.也不知道算不算原创,只做自己学习记录. 使用相关:PostgreSQL数据库.dom4j.JSP.Servlet 一.首先是工程格局,来个全局视图方便读者与自己查看与使用 思路为: 以config.xml文件记录配置信息,以方便数据库更改,方便移植与重用

  • Servlet+JavaBean+JSP打造Java Web注册与登录功能

    采用Java Web所实现的MVC结构图如下,其中控制器部分采用Servlet来实现,模型部分采用JavaBean来实现,而大部分的视图采用Jsp页面来实现. 思想基础 JSP+JavaBean两层结构工作原理应该是比较熟悉的,也比较好理解. 但是有一点必须要清楚就是用户通过浏览器来发送网页的请求,此请求到达服务器后在服务器端查找对应的网页,如果是首次请求(第二次就不用解释执行了),对于JSP来说要生成Servlet,然后通过Servlet引擎来执行 Servlet,把调用JavaBean的结果

  • Servlet+Jsp实现图片或文件的上传功能具体思路及代码

    现在不管是博客论坛还是企业办公,都离不开资源的共享.通过文件上传的方式,与大家同分享,从而达到大众间广泛的沟通和交流,我们既可以从中获得更多的知识和经验,也能通过他人的反馈达到自我改进和提升的目的. 下面我就为大家介绍 web项目中的这一上传功能,那么文件是如何从本地发送到服务器的呢?看我慢慢道来: 首先,我们创建一个新的web工程,在工程的WebRoot目录下新建一个upload文件夹,这样当我们将该工程部署到服务器上时,服务器便也生成个upload文件夹,用来存放上传的资源. 然后,在Web

  • 浅谈servlet与jsp的关系

    servlet是用java语言编写的,是一个java类.主要功能是用来接受.处理客户端的请求,并把处理结果返回到客户端显示.Jsp是servlet发展后期的产物.在没有jsp之前,servlet利用输出流动态生成整个HTML页面,输出内容包括每一个HTML标签和每个在HTML页面中出现的内容.HTML文件包含大量标签和大量静态文本及格式等,以及所有的表现逻辑,包括布局.色彩及图像等.这些内容都必须耦合在java代码中,这样就导致servlet开发效率低下,令人不胜其烦.jsp出现后弥补了不足,因

  • jsp传参 servlet接收中文乱码问题的解决方法

    在公司实习了8个月,一直都是做android和h5的,但是发现做程序连一点服务都不会该怎么办,所以最近开始学起了java,不知道是不是因为框架学多了,现在看起springmvc框架比以前看起来简单太多了,这里我是准备从hibernate开始学习,毕竟数据是根本嘛,首先我用的是hibernate+servlet,但是在jsp页面传参到servlet的时候中文一直乱码,我尝试了好多方法,最后还是解决了. 第一,首先看清项目的编码,jsp页面的编码 第二,修改tomcat 下面的server.xml文

  • servlet+JSP+mysql实现文件上传的方法

    本文实例讲述了servlet+JSP+mysql实现文件上传的方法.分享给大家供大家参考,具体如下: 一.文件上传的基本操作: 1. 表单属性enctype的设置 multipart/form-data和application/x-www-form-urlencoded的区别 FORM元素的enctype属性指定了表单数据向服务器提交时所采用的编码类型,默认的缺省值是"application/x-www-form-urlencoded". 然而,在向服务器发送大量的文本.包含非ASCI

随机推荐