首页 > 代码库 > 关于多个请求调用同一个Servlet
关于多个请求调用同一个Servlet
1 package com.ouyang.dao; 2 3 import java.io.IOException; 4 import java.lang.reflect.InvocationTargetException; 5 import java.lang.reflect.Method; 6 7 import javax.servlet.ServletException; 8 import javax.servlet.annotation.WebServlet; 9 import javax.servlet.http.HttpServlet;10 import javax.servlet.http.HttpServletRequest;11 import javax.servlet.http.HttpServletResponse;12 13 import org.apache.catalina.filters.AddDefaultCharsetFilter;14 15 @WebServlet("*.do")16 public class CustomerServlet extends HttpServlet {17 private static final long serialVersionUID = 1L;18 19 protected void doGet(HttpServletRequest request,20 HttpServletResponse response) throws ServletException, IOException {21 doPost(request, response);22 }23 24 protected void doPost(HttpServletRequest request,25 HttpServletResponse response) throws ServletException, IOException {26 27 String servletPath = request.getServletPath();28 29 String methodName = servletPath.substring(1, servletPath.length() - 3);30 31 try {32 Method method = getClass().getDeclaredMethod(methodName,33 HttpServletRequest.class, HttpServletResponse.class);34 method.invoke(this, request, response);35 } catch (Exception e) {36 e.printStackTrace();37 }38 39 }40 41 private void add(HttpServletRequest request, HttpServletResponse response) {42 System.out.println("add");43 44 }45 46 private void query(HttpServletRequest request, HttpServletResponse response) {47 System.out.println("query");48 49 }50 51 private void delete(HttpServletRequest request, HttpServletResponse response) {52 System.out.println("delete");53 54 }55 }
1 <%@ page language="java" contentType="text/html; charset=utf-8" 2 pageEncoding="utf-8"%> 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 4 <html> 5 <head> 6 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 7 <title>Insert title here</title> 8 </head> 9 <body>10 <a href="http://www.mamicode.com/add.do">Add</a>11 <br>12 <br>13 14 <a href="http://www.mamicode.com/query.do">Query</a>15 <br>16 <br>17 18 <a href="http://www.mamicode.com/delete.do">Delete</a>19 <br>20 <br>21 22 </body>23 </html>
难点有二:
1.url-pattern 采用" .do "来映射
2.采用反射机制调用对应的方法
优点:
1.便于维护
关于多个请求调用同一个Servlet
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。