其他分享
首页 > 其他分享> > Servlte开发入门

Servlte开发入门

作者:互联网

Servlet应用程序的体系结构图

Servlet是使用Java语言编写的运行在服务器端的程序,一般指的是任何实现了Servlet接口的类。依赖包javax.servlet.api.jar
针对Servlet接口提供有两个默认实现,GenericServlet和HTTPServlet

实现第一个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映射。

  1. 根据访问的地址/hello在中找到对应的
  2. 就能得到是HelloServlet
  3. 根据的值是HelloServlet找到对应的
  4. 得到是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