Web开发基础_Servlet学习_0007_Servlet重定向

版权声明:本文为博主原创文章,未经博主允许不得转载。 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即可:如果没有错误,最终页面展示效果应如下图:

录入完毕进行后台保存后重定向到查询界面。 

猜你喜欢

转载自blog.csdn.net/Coder_Boy_/article/details/82317110