概述
Servlet是JavaEE规范之一,规范就是接口
大家都知道Javaweb的三大组件是:servlet程序、Filter过滤器和Listener监听器。
那么怎么实现一个Servlet程序呢?
有两种方法,一是手动实现,二是通过继承来实现。
一、手动实现一个Servlet程序
- 编写一个类去实现Servlet接口
`import java.io.IOException;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class Helloservlet implements Servlet{
//调用init()、service()、destroy()等方法
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public ServletConfig getServletConfig() {
// TODO Auto-generated method stub
return null;
}
@Override
public String getServletInfo() {
// TODO Auto-generated method stub
return null;
}
@Override
public void init(ServletConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
@Override
public void service(ServletRequest arg0, ServletResponse arg1)
throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("Servlet请求被访问了");
}
}
2. 实现service方法,处理请求,并响应数据
@Override
public void service(ServletRequest arg0, ServletResponse arg1)
throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("Servlet请求被访问了");
}
- 到web.xml中去配置servlet程序的访问地址
<servlet>
//这里写别名
<servlet-name>Helloservlet</servlet-name>
//这里写全类名
<servlet-class>com.luo.servlet</servlet-class>
</servlet>
<servlet-mapping>
//前端如何访问 Servlet , Servlet访问URL
<servlet-name>Helloservlet</servlet-name>
<url-pattern>/Helloservlet</url-pattern>
</servlet-mapping>
二、通过继承HttpServlet实现Servlet程序(常用)
1.编写一个类去继承HttpServlet类
2.根据需要去重写doGet或doPost方法
public class Deal2Servlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public Deal2Servlet() {
super();
// TODO Auto-generated constructor stub
}
@Override
public void init() throws ServletException {
// TODO Auto-generated method stub
super.init();
System.out.println("deal2Servlet初始化.......");
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//做一个重定向 checkbox需要value属性 getParameterValues
response.sendRedirect("show2.jsp?userid=18889&username=lisi");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("重写了doPost方法");
}
}
运行后服务器接收消息
3.到web.xml中去配置servlet程序的访问地址
<servlet>
<servlet-name>DealServlet</servlet-name>
<!-- Servlet的类路径 -->
<servlet-class>DealServlet</servlet-class>
<!-- 指定初始化的时间和顺序 是一个整数 -->
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>DealServlet</servlet-name>
<!-- 前端如何访问 Servlet , Servlet访问URL -->
<url-pattern>/DealServlet</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>Deal2Servlet</servlet-name>
<servlet-class>com.hzyc.servlet.Deal2Servlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Deal2Servlet</servlet-name>
<url-pattern>/Deal2Servlet</url-pattern>
</servlet-mapping>
理清一下Servlet类继承体系:
自定义的Servlet程序继承了class HttpServlet(实现了service方法),重写了doPost和doGet方法,而后者继承了class Generic Servlet,(做了很多空实现)实现了Interface Servlet(只负责servlet程序的访问规范)
笔者还在自学中,第一次写博客,若有错误之处请指正,感激不尽
最后
以上就是无语皮皮虾为你收集整理的servlet初探的全部内容,希望文章能够帮你解决servlet初探所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复