Servlte开发入门
作者:互联网
Servlet应用程序的体系结构图
Servlet是使用Java语言编写的运行在服务器端的程序,一般指的是任何实现了Servlet接口的类。依赖包javax.servlet.api.jar
。
针对Servlet接口提供有两个默认实现,GenericServlet和HTTPServlet
- GenericServlet是抽象类,只提供了部分实现,没有实现HTTP请求处理。除了service()方法外,其他方法都已经实现。
- HTTPServlet继承GenericServlet的所有方法,并为HTTP中的请求提供了具体操作方法。
实现第一个Servlet程序
编写HelloServlet类继承GenericServlet,重写service()方法。Servlet使用输出流来产生响应,我们获取输出流PrintWriter对象并向客户端发送字符数据。
public class HelloServlet extends GenericServlet {
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
PrintWriter writer = servletResponse.getWriter();
writer.println("hello world!");
}
}
在web.xml文件中我们编写mapping映射。
- 根据访问的地址/hello在
中找到对应的 - 就能得到
是HelloServlet - 根据
的值是HelloServlet找到对应的 - 得到
是servlet.HelloServlet
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>servlet.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
将我们的web项目部署到tomcat上,此时如果我们访问http://localhost:8081/javaweb01/hello就能得到hello world!
使用HttpServlet类
由于大多数Web应用都通过HTTP协议和客户端进行交互,所以提供了一个HttpServlet类专门用于创建用于HTTP协议的Servlet,它重写了service()方法,根据用户请求方式不同,定义了相应的doXXX()方法处理用户请求,我们继承HttpServlet类后只需要重写对应的doXXX()方法即可。
public class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
PrintWriter writer = resp.getWriter();
writer.println("hello world!");
}
}
默认请求方法为Get,所以我们只需要重写doGet()方法。如果我们没有重写对应请求方式的doXXX()方法会报405错误。
标签:入门,方法,GenericServlet,开发,重写,Servlet,hello,Servlte,HelloServlet 来源: https://www.cnblogs.com/linzhikai/p/16508207.html