BaseServlet扩展了的HttpServlet,来实现减少Servlet数量
来源:互联网 发布:三线表格及数据分析 编辑:程序博客网 时间:2024/04/30 10:32
调用顺序:
1.BaseServlet类
package czb.utils;
import java.io.IOException;
import java.lang.reflect.Method;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
// 扩展Httpservlet用户请求某个servlet的url为:/PersonServlet?metd=save
public abstract classBaseServlet extends HttpServlet {
private static final longserialVersionUID= 1L;
@Override
public void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException,IOException {
req.setCharacterEncoding("UTF-8");
// 获取参数
String metd = req.getParameter("metd");
if (metd == null || metd.trim().equals("")) {
metd= "execute";
}
try {
// 通过反射去调子类的方法,获取实现类的方法反射save(req,reps)
Method method = this.getClass().getMethod(metd, //this是指实现类的实例对象
HttpServletRequest.class, HttpServletResponse.class);
// 调用的实现类的方法
method.invoke(this, req, resp);
}catch(Exception e) {
thrownew RuntimeException(e);
}
}
public void execute(HttpServletRequest req, HttpServletResponse resp)
throws Exception {
resp.sendError(406,"至少重写一个默认的方法、、、、、");
}
}
2.BaseServlet的实现类
package czb.servlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import czb.utils.BaseServlet;
public class PersonServlet extends BaseServlet {
private static final longserialVersionUID= 1L;
public void save(HttpServletRequestreq, HttpServletResponse resp)
throws Exception {
String name = req.getParameter("name");
System.err.println("你的姓名是:" + name + ",你在操作保存。。");
}
public void del(HttpServletRequestreq, HttpServletResponse resp)
throws Exception {
System.err.println("你在操作删除。。");
}
public voidupdate(HttpServletRequest req, HttpServletResponse resp)
throws Exception {
String name = req.getParameter("name");
System.err.println("你的姓名是:" + name + ",你在操作更新。。");
}
}
3.测试
<body>
<form action="<c:url value='/PersonServlet?metd=save'/>"method="post">
<input type="text"name="name"><br/>
<input type="submit"><br/>
</form>
<a href="<c:url value='/PersonServlet?metd=del'/>">查询</a>
<hr/>
<form action="PersonServlet" method="post">
Name:<input type="text" name="name"id="nm">
<input type="submit" value="删除">
</form>
<br/>
<a href="javascript:_go();">GO</a>
</body>
<script type="text/javascript">
function_go(){
var nm=document.getElementById("nm").value;
var rul = "StudServlet?metd="+nm;
//对url进行编码
url=encodeURI(url);
window.location=url;
}
</script>
- BaseServlet扩展了的HttpServlet,来实现减少Servlet数量
- BaseServlet扩展了的HttpServlet,包装Request来处理中文乱码
- jquery来实现的添加商品和减少商品数量
- Servlet的抽取:BaseServlet
- 反射减少servlet数量
- Servlet研究,HttpServlet的实现
- BaseServlet 的实现解析
- 共用一个servlet(BaseServlet)模板来处理传统的多个servlet
- 精研Servlet,HttpServlet的实现追究
- 精研Servlet,HttpServlet的实现追究
- 精研Servlet,HttpServlet的实现追究
- 精研Servlet,HttpServlet的实现追究
- javaWeb中BaseServlet的实现
- 使用继承HttpServlet的方法来开发Servlet
- jquery来实现的添加商品和减少商品数量,用于购物车等实时改变价格
- 浏览器到Servlet的HttpServlet的简单实现、底层实现
- Servlet继承HttpServlet重写service方法的实现!
- Servlet--HttpServlet实现doGet和doPost请求的原理
- C语言 字符串指针初始化
- IPV4套接字地址结构
- AsyncQueryHandler 分析 缺陷
- poj3216 Repairing Company 二分图匹配、最小路径覆盖
- 通过show status 来优化MySQL数据库
- BaseServlet扩展了的HttpServlet,来实现减少Servlet数量
- 天猫新旺铺模板制作规范说明
- java基础———第十一天
- 游戏成为游戏的原因 分享
- 模版函数指针,C++委托的实现-原创
- 计算机编程:成功的十项必备技能
- 中国游戏发展史
- 缺陷与出路——一个游戏开发者的反思(转自《大众软件》)
- 游戏编程入门手册