javaWeb中servlet开发(4)——servlet跳转
servlet跳转
1、跳转类型
客户端跳转:跳转后地址栏改变,无法传递request范围内属性,是在所有的操作都执行完毕之后才发生跳转的操作,跳转语法是,response.sendRedict()
服务器端跳转:地址栏不改变,可以传递request范围内属性,属于无条件跳转,只要执行到了,就立即执行跳转操作,语法是:<jsp:forward></jsp:forward>
2、servlet跳转

2.1 客户端跳转
servlet 中也是可以完成跳转的,servlet本身已经存在HttpServletResponse对象,所有可以直接通过此对象完成sendRedirect跳转操作。

代码如下:
public class ClientRedirectDemo extends HttpServlet {
public void doGet(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException{
req.getSession().setAttribute("name","李李") ;
req.setAttribute("info","JAVA") ;
resp.sendRedirect("get_info.jsp") ;
}
public void doPost(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException{
this.doGet(req,resp) ;
}
}
xml配置:
<servlet>
<servlet-name>client</servlet-name>
<servlet-class>
com.alice.servletdemo.ClientRedirectDemo
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>client</servlet-name>
<url-pattern>/forward/ClientRedirectDemo</url-pattern>
</servlet-mapping>
get—info.jsp
<body>
<% request.setCharacterEncoding("GBK") ; %>
<h2>sesion属性:<%=session.getAttribute("name")%></h2>
<h2>request属性:<%=request.getAttribute("info")%></h2>
</body>
2.2 服务器端跳转

代码实现:
public class ServerRedirectDemo extends HttpServlet {
public void doGet(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException{
req.getSession().setAttribute("name","李兴华") ;
req.setAttribute("info","MLDNJAVA") ;
RequestDispatcher rd = req.getRequestDispatcher("get_info.jsp") ; // 准备好了跳转操作
rd.forward(req,resp) ; // 完成跳转
}
public void doPost(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException{
this.doGet(req,resp) ;
}
}
xml配置:
<servlet>
<servlet-name>server</servlet-name>
<servlet-class>
com.alice.servletdemo.ServerRedirectDemo
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>server</servlet-name>
<url-pattern>/forward/ServerRedirectDemo</url-pattern>
</servlet-mapping>
javaWeb中servlet开发(4)——servlet跳转的更多相关文章
- javaWeb中servlet开发(3)——Servlet生命周期
生命周期:是一个程序的存在周期,servlet由于是受容器的管理,所以容器来决定其生命周期 1.servlet生命周期 2.servlet生命周期对应的方法 3.servlet生命周期代码 publi ...
- javaWeb中servlet开发(2)——servlet与表单
1.重写doGet方法 public class InputServlet extends HttpServlet{ public void doGet(HttpServletRequest req, ...
- javaWeb中struts开发——helloworld
1.新建一个web项目 2.选中project,右键,选择MyElcipse,选择add struts capab...添加struts支持,然后自己命名包 3.Struts在建立jsp时,标签要到 ...
- javaWeb中struts开发——Logic标签
1.Struts标签的logic标签 Logic标签是逻辑标签,是Struts中比较重要的标签,完成各种逻辑运算操作,可以直接支持全局调转. 2.1<logic:present><l ...
- javaWeb中struts开发——Bean标签
1.struts标签库中常用标签 使用myeclise标签可以自动注入,其中,前三个是经常使用的,主要的是logic标签 2.Bean标签 Bean标签主要用来定义和访问JavaBean,在Strut ...
- javaweb学习总结二十一(servlet开发入门、servlet生命周期以及调用过程)
一:servlet开发入门 servlet是sun公司一门开发动态web资源的技术,下面编写一个servlet入门程序: 1:在tomcat服务器webapps目录下新建firstServlet目录, ...
- Servlet开发详解
一.Servlet简介 Servlet是sun公司提供的一门用于动态web资源的技术 sun公司在其API中提供了一个Servlet接口,用户若想开发一个动态web资源,需要完成两个步骤: 编写一个J ...
- 十:JavaWeb中的监听器(一)
2.1.基本概念 JavaWeb中的监听器是Servlet规范中定义的一种特殊类,它用于监听web应用程序中的ServletContext, HttpSession和 ServletRequest等域 ...
- javaWeb中servlet开发——过滤器
servlet开发--过滤器(filter) servlet有三种,分为简单servlet.过滤器servlet.监听servlet 简单servlet是作为一种程序所必须的开发结构保存的,继承htt ...
随机推荐
- 矩阵快速幂 ZOJ 3497 Mistwald
题目传送门 题意:看似给了一个迷宫,每个点能传送到4个地方,问在P时间能否到达终点 分析:其实是一个有向图,可以用邻接矩阵存图,连乘P次看是否能从1到n*m,和floyd的传递背包思想一样 #incl ...
- three.js运动
<!DOCTYPE html> <html> <head> <title>Example 01.04 - Materials, light and an ...
- nav元素
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- uva 107 - The Cat in the Hat
The Cat in the Hat Background (An homage to Theodore Seuss Geisel) The Cat in the Hat is a nasty c ...
- 20145308刘昊阳 《Java程序设计》第1周学习总结
20145308刘昊阳 <Java程序设计>第1周学习总结 教材学习内容总结 第一章 Java平台概论 1.1Java不只是语言 Java最早取名Oak,后改名Java Java三大平台J ...
- MySQL优化经验和方法汇总
一.服务器硬件对MySQL性能的影响 1.磁盘寻道能力(磁盘I/O),以目前高转速SCSI硬盘(7200转/秒)为例,这种硬盘理论上每秒寻道7200次,这是物理特性决定的,没有办法改变. MySQL ...
- ACM 喷水装置(二)
喷水装置(二) 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 有一块草坪,横向长w,纵向长为h,在它的橫向中心线上不同位置处装有n(n<=10000)个点状的 ...
- 去掉inline-block元素默认间距的几种方法
方法1:使用负margin值一般是-3px,部分浏览器可能不同,不太推荐使用. 方法2:去掉多余空格将元素紧挨着写去掉多余空格,但降低了可读性. 方法3:使用font-size:0在外层父元素加上fo ...
- js获取屏幕大小
1.js获取屏幕大小 <html> <script> function a(){ document.write( "屏幕分辨率为:"+screen.widt ...
- Node.js 手册查询-1-核心模块方法
Node.js 学习手册 标签(空格分隔): node.js 模块 核心模块 核心模块是被编译成二进制代码,引用的时候只需require表示符即可 os 系统基本信息 os模块可提供操作系统的一些基本 ...