2022.7.1学习日记

关于servlet的学习,还不是很透彻,只知道生命周期,连接前端,接收和发送请求之类的,所以一般的用法我都是会的

但是今天偶然想到我每进行一项请求,都要进行新建一个servlet进行接收和响应,这未免过于麻烦,我在同学那曾看到过一种只需要一个servlet就能接收所有网页发来的请求并作出相应,所以今天就要进行实现。

 

在这篇博客里我找到了答案:Servlet(五):一个Servlet处理多个请求 - 程序员小川 - 博客园 (cnblogs.com)

用web.xml设置统一servlet接收模式

并通过接收请求连接的主要方法,执行相应函数

      String url=request.getRequestURI();
        String methodName=url.substring(url.lastIndexOf("/")+1,url.lastIndexOf("."));
        Method method=null;
        try {
            method=getClass().getDeclaredMethod(methodName, HttpServletRequest.class,HttpServletResponse.class);
            method.invoke(this, request,response);
        } catch(Exception e){
            throw new RuntimeException("调用方法出错");
        }

xml配置如下

  <servlet>
      <servlet-name>servlet</servlet-name>
      <servlet-class>servlet.AllServlet</servlet-class>
  </servlet>
  <servlet-mapping>
      <servlet-name>servlet</servlet-name>
      <url-pattern>*.do</url-pattern>
  </servlet-mapping>

 

posted @ 2022-07-01 15:15  枫浔  阅读(27)  评论(0)    收藏  举报