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>

浙公网安备 33010602011771号