概述
Servlet day2
1.什么是servlet
servlet本身就是一种java类,这种java类可以提供web形式的访问(Java EE 规范)
2.怎么按照JavaEE的规范编写一个servlet
关键字 | 作用 | 说明 |
---|---|---|
Servlet | 接口 | 有五个抽象方法 |
GenericServlet | 抽象类 | 有一个抽象方法 |
HttpServlet | 抽象类 | 没有抽象方法 |
HttpServlet-继承->GenericServlet-实现->Servlet接口
所以编写一个servlet,有三种方式
第一种方式:
写一个类去实现接口servlet
最重要的是实现接口中的service方法
这个方法就是我们在访问servlet的时候被tomcat服务器调用的
第二种方式:
写一个类去继承父类GenericServlet
抽象类GenericServlet里面有一个抽象方法service,这个方法是servlet接口中的方法,所以GenericServlet只实现了Servlet接口中的四个抽象方法,还剩下这个service没有实现。同时,GenericServlet类中不但实现了Servlet接口中的init方法,而且还重载了一个无参的init()方法
源代码中两个init方法的实现:
//tomcat服务器默认调用的是这个init方法
@Override
public void init(ServletConfig config) throws ServletException {
this.config = config;
this.init();
}
//用户需要重写的是这个init()方法
public void init() throws ServletException{
// NOOP by default
}
第三种方式:
写一个类去继承父类HttpServlet
HttpServlet是一个抽象类,但是没有任何抽象方法
HttpServlet类中自定义了很多doXxxx方法,每一种方法都对应了浏览器发送请求的方法,一般常用的浏览器发请求方式为get和post,这两种方式分别对应了这个类中的doGet方法和doPost方法。
HttpServlet类中,有两个service方法
//这个service方法Servlet接口中的
void service(ServletRequest req, ServletResponse res){
...}
//这个service是HttpServlet中重载的方法
void service(HttpServletRequest req, HttpServletResponse resp){
...}
源代码中俩个service方法的实现:
//实现Servlet接口中的service方法
@Override
public void service(ServletRequest req, ServletResponse res)
throws ServletException, IOException {
HttpServletRequest request;
HttpServletResponse response;
try {
request = (HttpServletRequest) req;
response = (HttpServletResponse) res;
} catch (ClassCastException e) {
throw new ServletException("non-HTTP request or response");
}
//调用重载之后的service方法
service(request, response);
}
//HttpServlet类中重载的service方法
protected void service(HttpServletRequest req
最后
以上就是年轻小伙为你收集整理的如何编写一个ServletServlet day2的全部内容,希望文章能够帮你解决如何编写一个ServletServlet day2所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复