EmpServlet案例--使用重定向和路径匹配访问路径(一个Servlet处理多个请求)
来源:互联网 发布:php 九九乘法表 表格 编辑:程序博客网 时间:2024/06/04 01:23
主要代码如下:
package web;import java.io.IOException;import java.io.PrintWriter;import java.sql.Date;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;/** * 使用一个Servlet处理多个请求(重写EmpServlet案例) * 路径规范:查询员工 /findEmp.do * 增加员工 /addEmp.do * */public class MainServlet extends HttpServlet {private static final long serialVersionUID = 1L;@Overrideprotected void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {//获取请求路径String path = req.getServletPath();if("/findEmp.do".equals(path)){//注意避免空指针异常findEmp(req,res);}else if("/addEmp.do".equals(path)){addEmp(req,res);}else{//该异常抛给服务器,由服务器统一处理异常throw new RuntimeException("查无此页");}}//查询员工 /findEmp.doprotected void findEmp(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {//接收参数(此处没有)//查询8-12三条记录(处理业务)res.setContentType("text/html;charset=utf-8");List<Emp> list = new EmpDao().findAll();//输出响应PrintWriter out = res.getWriter();out.println("<a href='add_emp.html'>增加</a>");out.println("<table border='1' cellspacing='0' width='40%'>");out.println(" <tr>");out.println(" <td>编号</td><td>姓名</td><td>职位</td><td>工资</td><td>入职日期</td>");out.println(" </tr>");if(list != null){for(Emp e : list){out.println("<tr>");out.println(" <td>"+e.getEmpno()+"</td>");out.println(" <td>"+e.getEname()+"</td>");out.println(" <td>"+e.getJob()+"</td>");out.println(" <td>"+e.getSal()+"</td>");out.println(" <td>"+e.getHiredate()+"</td>");out.println("</tr>");}}out.println("</table>");out.close();}//增加员工 /addEmp.doprotected void addEmp(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {//接收数据req.setCharacterEncoding("utf-8");String ename = req.getParameter("ename");String job = req.getParameter("job");Double sal = Double.parseDouble(req.getParameter("sal"));Date hiredate = Date.valueOf(req.getParameter("hiredate"));//处理业务Emp e = new Emp();e.setEname(ename);e.setJob(job);e.setSal(sal);e.setHiredate(hiredate);new EmpDao().save(e);//此处输出一句话//输出响应(重定向到查询页面--就是建议浏览器去访问查询页面)//当前:/servlet1/addEmp.do//目标:/servlet1/findEmp.dores.sendRedirect("findEmp.do");}}配置文件:
<!-- 使用一个Servlet处理多个请求(重写EmpServlet案例) --> <servlet> <servlet-name>main</servlet-name> <servlet-class>web.MainServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>main</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping>
静态网页代码:
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>增加员工</title></head><body> <!-- 当前:/servlet1/add_emp.html 目标:/servlet1/addEmp.do --> <form action="addEmp.do" method="post"> <p>姓名: <input type="text" name="ename"/></p> <p>职位: <input type="text" name="job"/></p> <p>工资: <input type="text" name="sal"/></p> <p>入职日期: <input type="text" name="hiredate"/></p> <p><input type="submit" value="保存"/></p> </form></body></html>
0 0
- EmpServlet案例--使用重定向和路径匹配访问路径(一个Servlet处理多个请求)
- Servlet之重定向、配置访问路径、处理多个请求、生命周期、config和context、层次结构、线程安全问题
- servlet中的请求转发和重定向的路径问题
- servlet请求转发、重定向路径
- Servlet从定向和路径匹配
- Servlet中转发和重定向的路径问题
- Servlet中转发和重定向的路径问题
- Servlet中转发和重定向的路径问题
- Servlet相对路径和绝对路径、重定向跳转、服务器跳转
- Servlet中转发和重定向的路径问题以及表单提交路径问题
- Servlet中转发和重定向的路径问题以及表单提交路径问题
- Servlet中转发和重定向的路径问题以及表单提交路径问题
- Servlet中转发和重定向的路径问题以及表单提交路径问题
- Servlet中转发和重定向的路径问题以及表单提交路径问题
- Servlet中转发和重定向的路径问题以及表单提交路径问题
- Servlet中转发和重定向的路径问题以及表单提交路径问题
- Servlet中转发和重定向的路径问题以及表单提交路径问题
- Servlet如何处理多个请求访问?
- MySQL 笔记-DriverManager 类与 Driver 类
- 开关问题
- android 轮播图
- 【JQ】 validate验证表单时多个name相同的元素的解决办法
- 程序员面试金典--面试23之求出满二叉树a和b点的最近公共祖先的编号
- EmpServlet案例--使用重定向和路径匹配访问路径(一个Servlet处理多个请求)
- @ResponseBody 零散知识
- C/C++中如何获取数组的长度?
- AngularJS 内置服务
- 树、森林和二叉树的转换
- jQuery ajax dataType json
- POJ 2451 Uyuw's Concert
- ajax-webservice,IE11不再支持document.all来判断IE浏览器了
- python学习笔记(十一)使用SQLite