反射减少servlet数量
来源:互联网 发布:网络真人赌博骗局 编辑:程序博客网 时间:2024/04/30 14:15
每个servlet只做一件事的后果就是servlet的数量会变得很庞大不好管理,比如登录与注册功能就应该在同一个servlet中处理,可以叫UserServlet,利用反射可以减少servlet的数量
servlet实例:
package action;import dao.pojo.Message;//import org.hibernate.Query;import service.IService.IMsgService;import service.ImpService.ImpMsgService;import service.ServiceFactory;import javax.servlet.Servlet;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import java.util.List;/** * Created by yuzhiyun on 2016-10-10. */@WebServlet("*.msg")public class MsgServlet extends HttpServlet { //弹幕service接口 IMsgService impMsgService; @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// super.doPost(req, resp); doGet(req, resp); } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// super.doGet(req, resp); System.out.print("访问MsgServlet成功"); String temp = req.getServletPath().substring(1); String methodName = temp.substring(0, temp.length() - 4); Method method = null; try { method = getClass().getDeclaredMethod(methodName, HttpServletRequest.class, HttpServletResponse.class); method.invoke(this, req, resp); } catch (NoSuchMethodException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); }// resp.sendRedirect("./index.jsp"); } public void save(HttpServletRequest req, HttpServletResponse resp) { try { resp.getWriter().print("存储数据"); } catch (IOException e) { e.printStackTrace(); } Message msg=new Message(); msg.setmMsgContent("多了一条"); impMsgService = ServiceFactory.getMsgService(); impMsgService.save(msg); } public void findAll(HttpServletRequest req, HttpServletResponse resp) { try { resp.getWriter().print("查询数据 "); } catch (IOException e) { e.printStackTrace(); } impMsgService = ServiceFactory.getMsgService(); List list=impMsgService.findAll(); //打印 for (Object object : list) { System.out.println(((Message) object).getmMsgContent()); } }}
注意,注解@WebServlet(“*.msg”)不需要加斜杠/,
这样的话,在浏览器端访问
http://localhost:8080/findAll.msg
就会执行findAll()函数
访问
http://localhost:8080/save.msg
就会执行save()函数
0 0
- 反射减少servlet数量
- BaseServlet扩展了的HttpServlet,来实现减少Servlet数量
- javaweb servlet开发之servlet抽取(抽取基类减少servlet类数量)
- 减少冲突数量
- 减少modelsim仿真warning数量
- 减少modelsim仿真warning数量
- 如何减少TIME_WAIT的数量
- 使用viewFliper减少activity数量
- 减少DOM元素的数量
- 系统消息数量的增加及减少!
- win7减少病毒入侵的数量
- 互联网: 中国网站数量一年减少41%
- 减少购物车中的商品数量
- 使用JsonView,减少vo的数量
- 购物车可增加减少数量可添加
- 简单购物车(增加数量和减少数量)
- 减少Servlet的一些方法
- 利用Emit减少反射的性能损失
- P1346 电车
- UE4高级功能-初探超大无缝map的实现LevelStream
- Bzoj 3530 数数
- Could not find com.android.databinding:library:1.2.1. Required by: XXXXX:app:unspecified
- 阻止输入框中输入数据后回车自动刷新页面
- 反射减少servlet数量
- Java中的自动类型转换
- WPF部署(一):WebService配置文件及编译时拷贝
- leetCode练习(61)
- 在Gazebo中使用DEM構建起伏地形環境
- SELECT INTO 和 INSERT INTO SELECT 两种表复制语句的不同
- 如何创建无标题DialogFragment?
- iOS UILabel高度自适应终结篇
- 卷积神经网络(CNN)在句子建模上的应用