首页 > 其他分享 >BaseServlet抽取

BaseServlet抽取

时间:2022-08-27 11:13:14浏览次数:59  
标签:BaseServlet 抽取 req System println Servlet out

BaseServlet抽取

  优化Servelet,减少Servlet数量,现在是一个功能一个Servlet,将其优化为一个模块一个Servlet相当于在数据库中一张表对应一个Servlet,现在Servlet中提供不同的方法,完成用户的请求,

    图解:

      

 

 

public class BaseServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// System.out.println("BaseServlet的service的方法被执行了...");
// 完成方法分发
// 获取请求路径
String uri = req.getRequestURI();
System.out.println("请求的路径"+uri);
// 获取方法名称
String name = uri.substring(uri.lastIndexOf("/") + 1);
System.out.println("方法名称"+name);
// 获取方法对象Method
System.out.println(this);
try {
// 忽略访问权限符
Method method = this.getClass().getDeclaredMethod(name, HttpServletRequest.class, HttpServletResponse.class);
// 暴力反射
// method.setAccessible(true);
// 执行方法
method.invoke(this,req,resp);
} catch (NoSuchMethodException e) {
throw new RuntimeException(e);
} catch (InvocationTargetException e) {
throw new RuntimeException(e);
} catch (IllegalAccessException e) {
throw new RuntimeException(e);
}

}

}
@WebServlet("/user/*")
public class UserServlet extends BaseServlet{
public void add(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("user的add方法...");
}
public void find(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("user的find方法...");
}
}

 

标签:BaseServlet,抽取,req,System,println,Servlet,out
From: https://www.cnblogs.com/ssr1/p/16629997.html

相关文章

  • BeanServlet抽取
    BeanServlet抽取优化Servlet减少servlet的数量现在是一个功能一个Servlet将其优化为一个模块一个Servlet,相当于在数据库中一张表对应一个Servlet在Servlet中提供不同......
  • BaseServlet抽取以及UserServlet和页面路径改写
    BaseServlet抽取优化Servlet减少Servlet的数量,现在是一个功能一个Servlet,将其优化为一个模块一个Servlet,相当于在数据库中一张表对应一个Servlet,在Servlet中提......
  • js快捷抽取数组对象中某一属性值的集合
    一、Array.from方法array.from方法就是将一个类数组对象(具有length属性的对象)或者可遍历的对象转换成真正的数组varuser=[{id:1,name:"李四......
  • 抽取基本JDBC中的基本操作与数据连接池
     1.JDBCDBC(JavaDataBaseConnectivity):Java数据库连接技术:具体讲就是通过Java连接广泛的数据库,并对表中数据执行增、删、改、查等操作的技术。JDBC是数据库与Java代......