如果我们想在一个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处理多种请求相关推荐

  1. java invoke 泛型_利用Java反射机制和泛型,全自动解析json

    有啦这个简直,太爽啦, 利用Java 反射机制,利用Class 就可以得到 类的 变量  Field[] fields=cls.getDeclaredFields(); 还可以通过类中 的方法名字 去 ...

  2. java游戏循环_利用Java循环语句实现攻击防御塔小游戏

    /* * 时间:2018-3-21 * 目的:practice * 内容:利用Java循环语句实现攻击防御塔小游戏 * 使用Java while语句实现一个英雄攻击防御塔的小程序,防御塔血量总计100 ...

  3. java 实现网络通信_利用Java怎么样实现网络通信功能

    利用Java怎么样实现网络通信功能 发布时间:2020-11-20 15:19:04 来源:亿速云 阅读:72 作者:Leah 利用Java怎么样实现网络通信功能?相信很多没有经验的人对此束手无策,为 ...

  4. java 刷新界面_利用java如何实现在删除信息后刷新页面功能

    利用java如何实现在删除信息后刷新页面功能 发布时间:2020-11-17 14:25:49 来源:亿速云 阅读:74 作者:Leah 这篇文章给大家介绍利用java如何实现在删除信息后刷新页面功能 ...

  5. java获取文件名方法,利用Java获取文件名、类名、方法名和行号的方法小结

    大家都知道,在C语言中,我们可以通过宏FILE. __LINE__来获取文件名和行号,而在Java语言中,则可以通过StackTraceElement类来获取文件名.类名.方法名.行号,具体代码如下: ...

  6. java实现icmp攻击,利用java实现ICMP协议在linux环境配置

    先前在进行利用java实现ICMP协议在linux环境下配置的时候发现有 error: Failed dependencies: jdk >= 1.6 is neede by jpcap-0.7 ...

  7. java post 注册_利用JAVA发送POST请求(垃圾注册就是这么产生的) | 学步园

    大伙都知道利用JAVA的net包的URL类和 URLConnection可以得到网页源代码(这个应该是蜘蛛程序的锥形吧),但是向网页发送数据怎么办呢,GET请求很好处理,直接在网址后面加参数就可以了, ...

  8. java调用通用对话框,利用Java Swing设计通用对话框

    利用Java Swing设计通用对话框 分享到: 文/杨少波 在Java Swing编程中,程序员还可以自定义对话框,一般可以从JDialog类来继承.下面给出一个对话框类的代码: class Hel ...

  9. java横向导出excel_利用Java进行Excel的数据导入导出

    1. 引言 MS 的电子表格(Excel)是Office 的重要成员,是保存统计数据的一种常用格式.在一 个Java 应用中,将一部分数据生成Excel 格式,是与其他系统无缝连接的重要手段.在远程 ...

最新文章

  1. php 二维数组排序,多维数组排序
  2. serverless mysql_Serverless 解惑——函数计算如何访问 MySQL 数据库
  3. python语言编程入门先学什么-初学者先学习python语言还是C语言
  4. array_unique() 去重复
  5. arm汇编:.balignl伪指令理解
  6. SQL日期时间格式自由转换大全
  7. 红帽 jboss_红帽JBoss BRMS和BPMS富客户端框架展示了与GWT / Errai / UberFire和AngularJS的多语言集成...
  8. JVM优化系列-JVM内存溢出的原因
  9. docker1.13.1的安装与卸载及mysql5.5安装实例
  10. JS 在火狐浏览器下关闭弹窗
  11. BeanFactory和FactoryBean区别
  12. 数字图像处理吴娱课后答案_(完整版)数字图像处理每章课后题参考答案
  13. 服务器lsass系统错误,Win7系统提示Lsass.exe系统错误的原因及解决
  14. CSS CSS3 pdf 电子书大全 百度云
  15. Raspberry Pi 4B SSH、VNC及串口连接配置
  16. 一个强悍的算24点游戏的PHP程序
  17. HDU - 6555 The Fool(思维)
  18. kali linux 命令
  19. 深度:养老康复器械龙头即将上市,美的、新松进军养老康复机器人,老龄化加速千亿康复市场到来!
  20. 跳马周游c++_NOIP信息学奥赛C++视频教程

热门文章

  1. java 在界面上画一个时钟_编写程序显示一个时钟 - javaCoder的个人页面 - OSCHINA - 中文开源技术交流社区...
  2. BUUCTF--练习场--Include 1
  3. eclipse下拉框里的选项怎么鼠标单击表判断_领导让我预测下一年销量,怎么办?...
  4. mac上java文件如何编译_如何在Mac上用Java编译和运行程序?
  5. linux学习总结--linux100day(day2)
  6. Node.js实现TCP和HTTP并作简单的比较
  7. ubuntu安装扩展在phpinfo显示不出来的解决办法
  8. 1.3字符串 确定两串乱序同构
  9. 搞懂 SynchronizationContext
  10. 【转】蓝牙技术及其系统原理