java反射减少servlet_利用java 反射机制来实现一个servlet处理多种请求
如果我们想在一个servlet中处理多种请求(比如新闻的添加、删除),简单的可以在jsp提交表单的action路径中添加一个键值对,然后再servlet中接收后根据不同的值来调用不同的方法。
jsp端
1
2
3
4
servlet端
1 String method = request.getParameter("method");2 if(method.equals("add")){3 //处理添加
4 }5 else if(method.equals("delete")){6 //处理删除
7 }
接下来说一下利用java的反射机制来处理相应的业务。
jsp端
web.xml配置servlet-mapping的url-pattern为"*.newsServlet"
servlet端
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
req.setCharacterEncoding("UTF-8");
resp.setContentType("UTF-8");
String servletPath = req.getServletPath();
//去掉servlet路径中前面的/和后面的.newsServlet,只留下中间的请求类型
String methodName = servletPath.substring(1);
methodName = methodName.substring(0, methodName.length()-12);
System.out.println(methodName);
try {
//利用反射得到对应请求类型方法的信息
Method method = getClass().getDeclaredMethod(methodName, HttpServletRequest.class,HttpServletResponse.class);
//利用反射调用执行方法
method.invoke(this, req,resp);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
当然servlet还要对应着add.newsServlet和delete.newsServlet实现对应的add(HttpServletRequest req, HttpServletResponse resp),和delete(HttpServletRequest req, HttpServletResponse resp)方法。
java反射减少servlet_利用java 反射机制来实现一个servlet处理多种请求相关推荐
- java invoke 泛型_利用Java反射机制和泛型,全自动解析json
有啦这个简直,太爽啦, 利用Java 反射机制,利用Class 就可以得到 类的 变量 Field[] fields=cls.getDeclaredFields(); 还可以通过类中 的方法名字 去 ...
- java游戏循环_利用Java循环语句实现攻击防御塔小游戏
/* * 时间:2018-3-21 * 目的:practice * 内容:利用Java循环语句实现攻击防御塔小游戏 * 使用Java while语句实现一个英雄攻击防御塔的小程序,防御塔血量总计100 ...
- java 实现网络通信_利用Java怎么样实现网络通信功能
利用Java怎么样实现网络通信功能 发布时间:2020-11-20 15:19:04 来源:亿速云 阅读:72 作者:Leah 利用Java怎么样实现网络通信功能?相信很多没有经验的人对此束手无策,为 ...
- java 刷新界面_利用java如何实现在删除信息后刷新页面功能
利用java如何实现在删除信息后刷新页面功能 发布时间:2020-11-17 14:25:49 来源:亿速云 阅读:74 作者:Leah 这篇文章给大家介绍利用java如何实现在删除信息后刷新页面功能 ...
- java获取文件名方法,利用Java获取文件名、类名、方法名和行号的方法小结
大家都知道,在C语言中,我们可以通过宏FILE. __LINE__来获取文件名和行号,而在Java语言中,则可以通过StackTraceElement类来获取文件名.类名.方法名.行号,具体代码如下: ...
- java实现icmp攻击,利用java实现ICMP协议在linux环境配置
先前在进行利用java实现ICMP协议在linux环境下配置的时候发现有 error: Failed dependencies: jdk >= 1.6 is neede by jpcap-0.7 ...
- java post 注册_利用JAVA发送POST请求(垃圾注册就是这么产生的) | 学步园
大伙都知道利用JAVA的net包的URL类和 URLConnection可以得到网页源代码(这个应该是蜘蛛程序的锥形吧),但是向网页发送数据怎么办呢,GET请求很好处理,直接在网址后面加参数就可以了, ...
- java调用通用对话框,利用Java Swing设计通用对话框
利用Java Swing设计通用对话框 分享到: 文/杨少波 在Java Swing编程中,程序员还可以自定义对话框,一般可以从JDialog类来继承.下面给出一个对话框类的代码: class Hel ...
- java横向导出excel_利用Java进行Excel的数据导入导出
1. 引言 MS 的电子表格(Excel)是Office 的重要成员,是保存统计数据的一种常用格式.在一 个Java 应用中,将一部分数据生成Excel 格式,是与其他系统无缝连接的重要手段.在远程 ...
最新文章
- php 二维数组排序,多维数组排序
- serverless mysql_Serverless 解惑——函数计算如何访问 MySQL 数据库
- python语言编程入门先学什么-初学者先学习python语言还是C语言
- array_unique() 去重复
- arm汇编:.balignl伪指令理解
- SQL日期时间格式自由转换大全
- 红帽 jboss_红帽JBoss BRMS和BPMS富客户端框架展示了与GWT / Errai / UberFire和AngularJS的多语言集成...
- JVM优化系列-JVM内存溢出的原因
- docker1.13.1的安装与卸载及mysql5.5安装实例
- JS 在火狐浏览器下关闭弹窗
- BeanFactory和FactoryBean区别
- 数字图像处理吴娱课后答案_(完整版)数字图像处理每章课后题参考答案
- 服务器lsass系统错误,Win7系统提示Lsass.exe系统错误的原因及解决
- CSS CSS3 pdf 电子书大全 百度云
- Raspberry Pi 4B SSH、VNC及串口连接配置
- 一个强悍的算24点游戏的PHP程序
- HDU - 6555 The Fool(思维)
- kali linux 命令
- 深度:养老康复器械龙头即将上市,美的、新松进军养老康复机器人,老龄化加速千亿康复市场到来!
- 跳马周游c++_NOIP信息学奥赛C++视频教程
热门文章
- java 在界面上画一个时钟_编写程序显示一个时钟 - javaCoder的个人页面 - OSCHINA - 中文开源技术交流社区...
- BUUCTF--练习场--Include 1
- eclipse下拉框里的选项怎么鼠标单击表判断_领导让我预测下一年销量,怎么办?...
- mac上java文件如何编译_如何在Mac上用Java编译和运行程序?
- linux学习总结--linux100day(day2)
- Node.js实现TCP和HTTP并作简单的比较
- ubuntu安装扩展在phpinfo显示不出来的解决办法
- 1.3字符串 确定两串乱序同构
- 搞懂 SynchronizationContext
- 【转】蓝牙技术及其系统原理