JAVA资格认证:纠正一些关于Servlet的误解

JAVA资格认证:纠正一些关于Servlet的误解,第1张

JAVA资格认证:纠正一些关于Servlet的误解,第2张

刚刚看了几篇总结Servlet的文章,发现都有异同。是这样写的:
Servlet有三个元素:
1。它必须从HttpServlet
2继承。它必须实现doGet()或doPost()
3。必须在web.xml中配置





谁说写Servlet必须继承HttpServlet类,必须实现doGet()或doPost()?就不能实现Servlet接口吗?
实际上,编写Servlet主要有三种方法。一是实现Servlet接口,二是继承抽象类GenericServlet,三是继承HttpServlet类。以下三种方法用于实现Servlet:
(1)写Servlet比较麻烦:
实现Servlet接口,因为Servlet接口中的所有方法都要实现。Servlet接口主要定义了五种方法。分别是:
(1)void init(servlet config)抛出Servlet异常
(2)Servlet config get Servlet config()
(3)void service(Servlet request req,ervletResponse res)抛出servlet exception,io exception
(4)String getservlet info()
(5)void destroy()
这里通过实现Servlet接口来编写一个Servlet:
import javax . Servlet . * .
导入Java . io . *;
公共类TestServlet实现Servlet{
公共void init(ServletConfig config)抛出Servlet exception {
system . out . println(" init ");
}
public servlet config getservlet config(){
return null;
}
Public Void Service(Servlet Req Req,Servlet Response Res)
Throws Servlet exception,io exception {
/这里可以实现请求后做什么
printwriter out = Response . getwriter();
out.println("Hello World!");
}
public String getServletInfo(){
return null;
}
public void destroy(){
system . out . println(" destory ");
}
}
(2)继承抽象类GenericServlet写一个Serlvet比实现Servlet接口简单一点。GenericServlet类中只有一个抽象方法,即service(ServletRequest req,ServletResponse res),实现这个方法即可。我们来看下面的例子:
导入javax . servlet . *;
导入Java . io . io exception;
public TestGenericServlet扩展GenericServlet {
public abstract void service(servlet request req,servlet response RES)
throws servlet exception,io exception {
PrintWriter out = response . getwriter();
out.println("Hello World!");
}
}
(3)继承HttpServlet类写Servlet应该是最简单也是最常见的。一般我们要写servlets直接继承这个类,重写doGet()或者doPost()方法就行了。下面举个例子:
导入javax.servlet.http.
导入javax . servlet . *;
导入Java . io . *;
public TestHttpServlet扩展http servlet {
public void doGet(http servlet request请求,HttpServletResponse响应)
throws IOException,servlet exception {
response . set content type(" text/html;charset = GB 2312 ");
PrintWriter out = response . getwriter();
out . println(" ");
out . println(" ");
out . println(" hello world ");
out . println(" ");
out . println(" ");
out . println(" ");
out . println(" hello world ");
out . println(" ");
}
public void doPost(http servlet request请求,HttpServletResponse响应)
抛出IOException,ServletException {
doGet(请求,响应);
}
}

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » JAVA资格认证:纠正一些关于Servlet的误解

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情