之前我们是页面传一个请求过来,我们就写一个servlet,很麻烦,这次用反射机制直接实现通用BaseServlet,然后我们自己创建根据请求创建的servlet只要继承BaseServlet,然后我们只要在页面请求里写上我们需要处理的方法(增删改查),直接在这个servlet里实现就行了
本文设计知识点:
- 页面向服务器发送请求的四个方式
- Servlet生命周期(就是怎么实现的)
- 反射机制:javaSE (四十一)反射的概念
1、页面向服务器发送请求的四个方式:
- 表单提交(这里还有个小知识点:submit和button的区别)
- 超链接
- Jquey-Ajax
- JavaScript的匿名函数的方式
2、Servlet生命周期和反射机制:
-
页面发送请求,调用无参构造先创建一个servlet对象,然后对象调用init方法初始化,调用service()方法(这里需要向父类查找,然后由父类通过页面的信息决定是doGet还是doPost),然后执行服务器执行destory (具体请看博文: Servlet生命周期 和下面的源码)
-
反射机制就是我拿到该类的字节码文件.class,直接找字节码文件里面的方法,不需要再通过创建实例这么繁琐了,可以在编译阶段做很多事(比如之前做过的泛型擦除)(getMothod和invoke方法很重要)
-
我们这里不需要doGet和doPost方法了,这两个就是父类Service方法就是名字不同罢了,直接写我们自己的方法,然后具体找哪个方法写在BaseServlet的Service里面,让他找我们子类里面的方法(写的有点啰嗦)
下面写个代码演示一下:
登陆页面:
代码:
<head>
<script type="text/javascript" src="js/jquery-1.11.3.min.js"></script>
<script type="text/javascript">
function fn(){
$.post("/BaseServletTest/ServletDemo01",{
"method":"checkStu"},function(data,status){
alert(data);
});
}
</script>
</head>
<