- 0
- 0
- 约2.04千字
- 约 2页
- 2026-02-12 发布于北京
- 举报
BaseServlet
1BaseServlet的作用
我们先写一个工具类:BaseServlet。
我们知道,写一个项目可能会出现N多个Servlet,而且一般一个Servlet只有一个方法(doGet
或doPost),如果项目大一些,那么Servlet的数量就会很惊人。
为了避免Servlet的“膨胀”,我们写一个BaseServlet。它的作用是让一个Servlet可以处理多种
不同的请求。不同的请求调用Servlet的不同方法。我们写好了BaseServlet后,让其他Servlet继承
BaseServlet,例如CustomerServlet继承BaseServlet,然后在CustomerServlet中add()、update()、
delete()等方法,每个方法对应不同的请求。
2BaseServlet分析
我们知道,Servlet中处理请求的方法是service()方法,这说明我们需要让service()方法去调用其
他方法。例如调用add()、mod()、del()、all()等方法!具体调用哪个方法需要在请求中给出方法名称!
然后service()方法通过方法名称来调用指定的方法。
无论是点击超,还是提交表单,请求中必须要有method参数,这个参数的值就是要请求
的方法名称,这样BaseServlet的service()才能通过方法名称来调用目标方法。例如某个如下:
ahref=”/xxx/CustomerServlet?method=add”添加客户/a
3BaseServlet代码
publicclassBaseServletextendsHttpServlet{
/*
*它会根据请求中的m,来决定调用本类的哪个方法
*/
protectedvoidservice(HttpServletRequestreq,HttpServletResponseres)
throwsServletException,IOException{
req.setCharacterEncoding(UTF-8);
res.setContentType(text/html;charset=utf-8);
//例如:
Stringmethome=req.getParameter(method);//它是一个方法名称
//当没用指定要调用的方法时,那么默认请求的是execute()方法。
if(methomenull||methome.isEmpty()){
methome=execute;
}
Classc=this.getClass();
try{
//通过方法名称获取方法的反射对象
Methodm=c.getMethod(methome,HttpServletRequest.class,
HttpServletResponse.class);
//反射方法目标方法,也就是说,如果methome为add,那么就调用add方法。
Stringresult=(String)m.invoke(this,req,res);
//通过返回值完成请求转发
if(result!=null!result.isEmpty()){
req.getRequestDispatcher(result).forward(req,res);
}
}catch(Exceptione){
thrownewServletException(e);
您可能关注的文档
- 华中农业2014年入学考试实务试题.pdf
- 大亚湾石化区滨海大道工程监理.pdf
- 员工协议范本及签订流程.pdf
- 透明围护结构太阳辐射得热量计算与分析.pdf
- 口译过程与技巧心理语言学分析.pdf
- 数学预习作业:中心对称概念与特征.pdf
- Android应用控制流混淆技术研究与实现.pdf
- RC3563高精度电压内阻仪测试软件使用手册及防伪指南.pdf
- 外研版三年级下册第七模块第二单元天气与季节练习题.pdf
- 高学同步辅导:探索原子构建物质奥秘.pdf
- 03-2 2025年度民主生活会征求意见座谈会主持词.docx
- 03-1 2025年度民主生活会主持讲话提纲.docx
- 02-1 会前学习-《县以上党和国家机关党员领导干部民主生活会若干规定》相关要求.docx
- 在2025年度民主生活会上的总结讲话三篇.docx
- 在2025年度民主生活会上的总结讲话三篇 (3).docx
- 市委宣传部2025年度民主生活会查摆问题整改方案两篇.docx
- 在市行政审批和政务信息管理局机关2026年全体干部政绩观教育大会上的党课讲稿.docx
- X市应急管理局2026年度安全生产监督检查计划.docx
- 2025年度民主生活会领导班子对照检查材料(五个带头)三篇.docx
- 2025年度民主生活会“五个带头”个人对照检查材料三篇.docx
原创力文档

文档评论(0)