版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Coder_Boy_/article/details/82317110
重定向案例概述
增加员工
重定向
案例演示:
工程案例目录结构
pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.study</groupId>
<artifactId>EmpManager_v2</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>javaee</groupId>
<artifactId>javaee-api</artifactId>
<version>5</version>
</dependency>
</dependencies>
</project>
web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<display-name>EmpManager_v2</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>findEmp</servlet-name>
<servlet-class>web.FindEmpServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>findEmp</servlet-name>
<url-pattern>/findEmp</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>addEmp</servlet-name>
<servlet-class>web.AddEmpServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>addEmp</servlet-name>
<url-pattern>/addEmp</url-pattern>
</servlet-mapping>
</web-app>
FindEmpServlet.java
package web;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import dao.EmpDao;
import entity.Emp;
public class FindEmpServlet extends HttpServlet {
@Override
protected void service(
HttpServletRequest req,
HttpServletResponse res) throws ServletException, IOException {
//1.接收请求数据
//无参数,略
//2.处理业务数据
//查询全部员工
EmpDao dao = new EmpDao();
List<Emp> list = dao.findAll();
//3.输出响应数据
res.setContentType(
"text/html;charset=utf-8");
PrintWriter w = res.getWriter();
w.println("<input type='button' value='增加' onclick='location.href=\"add_emp.html\"'/>");
w.println("<table border='1' width='40%' cellspacing='0'>");
//标题行
w.println(" <tr>");
w.println(" <td>编号</td>");
w.println(" <td>姓名</td>");
w.println(" <td>职位</td>");
w.println(" <td>工资</td>");
w.println(" </tr>");
//数据行
for(Emp e : list) {
w.println(" <tr>");
w.println(" <td>"+e.getEmpno()+"</td>");
w.println(" <td>"+e.getName()+"</td>");
w.println(" <td>"+e.getJob()+"</td>");
w.println(" <td>"+e.getSal()+"</td>");
w.println(" </tr>");
}
w.println("</table>");
w.close();
}
}
AddEmpServlet.java
package web;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import dao.EmpDao;
import entity.Emp;
public class AddEmpServlet extends HttpServlet{
@Override
protected void service(HttpServletRequest req,
HttpServletResponse res) throws ServletException, IOException {
req.setCharacterEncoding("utf-8");
//接收表单传入的员工数据
String name = req.getParameter("name");
String job = req.getParameter("job");
String sal = req.getParameter("sal");
//存储数据
Emp e = new Emp();
e.setName(name);
e.setJob(job);
e.setSal(new Double(sal));
EmpDao dao = new EmpDao();
dao.save(e);
//重定向到查询:
//1.重定向不是直接调用目标;
//2.而是告诉浏览器要访问哪个目标;
//3.由浏览器自己去访问它;
//4.重定向是web中一种特殊的跳转方式;
//当前:/EmpManager/addEmp
//目标:/EmpManager/findEmp
res.sendRedirect("findEmp");
}
}
add_emp.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>增加员工</title>
</head>
<body>
<!--
当前:/EmpManager/add_emp.html
目标:/EmpManager/addEmp
-->
<form action="addEmp" method="post">
<p>
姓名:<input type="text" name="name"/>
</p>
<p>
职位:<input type="text" name="job"/>
</p>
<p>
工资:<input type="text" name="sal"/>
</p>
<p>
<input type="submit" value="保存"/>
</p>
</form>
</body>
</html>
将EmpManager工程部署到Tomcat上,运行Tomcat启动案例工程,
浏览器录入http://localhost:8080/EmpManager_v2//findEmp即可:如果没有错误,最终页面展示效果应如下图:
录入完毕进行后台保存后重定向到查询界面。