网站建设与维护就业前景,公司做网站哪家好,企业邮箱怎么创建,竞价推广专员Controller分发器工具类 一. 设计逻辑二. 简单设计#xff1a;三. BaseServlet 的 service()的设计 一. 设计逻辑
我们设计一个分发器#xff0c;对于不同的操作#xff0c;进入不同的方法#xff0c;但是他们的请求的是同一个servlet,只是参数不同
1. 删除操作#xff… Controller分发器工具类 一. 设计逻辑二. 简单设计三. BaseServlet 的 service()的设计 一. 设计逻辑
我们设计一个分发器对于不同的操作进入不同的方法但是他们的请求的是同一个servlet,只是参数不同
1. 删除操作news?actiondel
2. 查询 news?actionlist
3. 增加 news?actionadd
4. 修改 news?actiontoUpdate那么对于参数 action对应的value的不同我们可以调用对应的方法
二. 简单设计
进入这个servlet的请求经过service分发到对应的方法方法名与请求的value要相同 需要注意请求必须是post要不然数据会丢失
WebServlet(/news)
public class NewsServlet extends BaseServlet {private NewsService service new NewsService();public void add(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println(添加);}public void del(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println(删除);}/*** 修改*/public void mod(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println(提交修改);}/*** 查询记录并转发到修改页面*/public void toUpdate(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println(去修改);} /*** 查看详情*/public void detail(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println(明细);}/*** 新闻列表 带分页* news?actionlist*/public void list(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println(明细);}
}三. BaseServlet 的 service()的设计 public class BaseServlet extends HttpServlet{Overrideprotected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String methodName request.getParameter(action);//反射 方法方法名参数列表 确定唯一的方法try {Method method this.getClass().getDeclaredMethod(methodName, HttpServletRequest.class,HttpServletResponse.class);//执行对应方法 调用method.invoke(this, request,response);
// 对象方法调用时
// this.add(request,response);} catch (Exception e) {e.printStackTrace();}}
}