服务器跳转

服务器跳转

服务器跳转又叫做服务器端转发还可以叫作服务器端重定向,在大部分的开发中当:
1.用户发送请求到服务器
2.服务器会将请求交给对应的控制器(servlet)处理,在控制器中调用业务层方法取得数据
3.之后将取得的数据保存到request内置对象
4.然后在跳转到页面将保存在request内置对象中的数据再次取出来之后显示到页面(用户看到信息)

服务器端跳转

将雇员的信息保存到request内置对象
package com.xie;

import java.io.IOException;
import java.util.Date;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


@SuppressWarnings("serial")
public class EmpServlet extends HttpServlet{
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		//调用业务层的方法取得雇员信息
		Emp emp = new Emp(1001, "雅典娜", "智慧女神", 50000.0, new Date(), 7788, 10000.0, 1);
		//将以上的对象保存到request内置对象中
		req.setAttribute("emp", emp);
		//取得实现服务器端重定向的对象
		RequestDispatcher dispatcher = req.getRequestDispatcher("/emp.html");
		//跳转到页面(使用的就是服务器端重定向)
		dispatcher.forward(req, resp);
	}	
}
emp.html
<body>
	<h1>显示雇员的信息</h1>
	<table border="1">
		<tr>
				<td>雇员编号</td><td>雇员姓名</td><td>雇员职位</td><td>雇员薪资</td><td>部门编号</td>
			</tr>
			<tr>
				<td>7964</td><td>雅典娜</td><td>智慧女神</td><td>50000.00</td><td>10</td>
			</tr>			
	</table>
</body>

在这里插入图片描述
此时实现了重定向,但是没有在页面取得保存在request内置对象中的雇员的信息,此时需要将页面改为动态页面(*.jsp)

定义emp.jsp文件取得雇员信息
<body>
	<h1>
		显示雇员的信息
		${emp}
	</h1>
	<table border="1">
		<tr>
			<td>雇员编号</td><td>雇员姓名</td><td>雇员职位</td><td>雇员薪资</td><td>入职日期</td><td>部门编号</td>
		</tr>
		<tr>
			<td>${emp.empno}</td><td>${emp.ename}</td><td>${emp.job}</td>
			<td>${emp.sal}</td><td>${emp.hiredate}</td><td>${emp.deptno}</td>
		</tr>				
	</table>
</body>

在这里插入图片描述
以上在jsp中使用${key 值.对象名}的方式取得保存在request内置对象中的方式叫作EL表达式(Expression language)

总结:

  • 服务器端(转发)跳转的特征
    实现的方式是调用RequestDispatcher类的forward()方法实现

    服务器端转发浏览器的地址栏信息不回发生改变

    使用服务器端转发后,可以在jsp页面中取得保存在request内置对象中的属性

  • 使用${参数名}在jsp中取得对应的值的方式叫作EL表达式

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值