映射的方式实现一个servlet类处理多个请求
2017-09-12 15:30
447 查看
封装一个继承类,该类继承于HttpServlet并实现service方法,请求来了后首先执行该service方法,方法内写入两种处理中文乱码的方式,一个是处理客户端发送的请求乱码问题,一个是处理服务器响应后中文乱码的问题,代码如下:
写另一个方法,该方法是请求来了后执行的方法,例如前台有<from action="category?method="...""></from>
WEB.xml中配置有:
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>CatoryServlet</servlet-name>
<servlet-class>com.yinhe.web.servlet.CatoryServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CatoryServlet</servlet-name>
<url-pattern>/category</url-pattern>
</servlet-mapping>
CatoryServlet类就是处理请求的servlet类,该servlet类要继承于上述BaseServlet类才能实现自动映射匹配请求执行的方法功能
前台发送一个category请求,并传method参数,method参数就是CatoryServlet类中的方法名。
因此,解决了多个请求一个servlet类处理的问题,大大减少代码量
package com.yinhe.web.servlet; import java.io.IOException; import java.lang.reflect.Method; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class BaseServlet extends HttpServlet { @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("utf-8"); resp.setCharacterEncoding("utf-8"); String method=req.getParameter("method"); //谁继承baseservlet,this就是谁 Class clazz=this.getClass(); //找到method指定的方法 try { Method m=clazz.getMethod(method, HttpServletRequest.class,HttpServletResponse.class); m.invoke(this, req,resp); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
写另一个方法,该方法是请求来了后执行的方法,例如前台有<from action="category?method="...""></from>
WEB.xml中配置有:
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>CatoryServlet</servlet-name>
<servlet-class>com.yinhe.web.servlet.CatoryServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CatoryServlet</servlet-name>
<url-pattern>/category</url-pattern>
</servlet-mapping>
CatoryServlet类就是处理请求的servlet类,该servlet类要继承于上述BaseServlet类才能实现自动映射匹配请求执行的方法功能
前台发送一个category请求,并传method参数,method参数就是CatoryServlet类中的方法名。
因此,解决了多个请求一个servlet类处理的问题,大大减少代码量
相关文章推荐
- Servlet做Controller,实现一个类处理多个请求
- 一个servlet响应多个请求实现方式--反射
- 在一个Servlet中处理多个请求方法
- 通配符方式解决struts框架一个Action对应多个请求的处理
- BaseServlet思想(Struts2的思想), BaseServlet,让一个Servlet可以同时处理多个请求
- EmpServlet案例--使用重定向和路径匹配访问路径(一个Servlet处理多个请求)
- Struts2中一个Action多个请求处理方法的三种实现方式
- 动态方法调用 在Struts2中动态方法调用有三种方式,动态方法调用就是为了解决一个Action对应多个请求的处理,以免Action太多 第一种方式:指定method属性 这种方式我们前面已经用到过
- Struts2一个Action内包含多个请求处理方法的处理,method的使用方法,struts2中的路径问题,通配符映射 (
- JSP---一个Servlet处理多个请求操作
- 利用java 反射机制来实现一个servlet处理多种请求
- 一个servlet处理多个请求 (利用反射获取方法)
- Struts2一个Action内包含多个请求处理方法的处理,method的使用方法,struts2中的路径问题,通配符映射
- 前端控制器是整个MVC框架中最为核心的一块,它主要用来拦截符合要求的外部请求,并把请求分发到不同的控制器去处理,根据控制器处理后的结果,生成相应的响应发送到客户端。前端控制器既可以使用Filter实现(Struts2采用这种方式),也可以使用Servlet来实现(spring MVC框架)。
- Struts2 一个form组成的action内包含多个请求的处理方式。通配符形式。
- 【WEB小工具】BaseServlet—一个Servlet处理多个请求
- 一个servlet如何处理多个请求
- 一个servlet处理多个请求
- Struts2 通配符映射(wildcard mappings) 多个请求一个action处理
- Struts2中一个Action多个请求处理方法的三种实现方式