Servlet入门

1.什么是Servlet
Servlet 运行在服务端的Java小程序,是sun公司提供一套规范,用来处理客户端请求、响应给浏览器的动态资源。Servlet是JavaWeb三大组件之一(Servlet、Filter、Listener),且最重要。

2.Servlet的作用
用来处理从客户端发送过来的请求,并对该请求作出响应。
Servlet的任务有:
\1. 获取请求数据
\2. 处理请求
\3. 完成响应

3.准备工作
Servlet规范要求:Servlet程序需要编写实现类,并在web.xml进行配置。
l 实现类:通常继承javax.servlet.http.HttpServlet类,并复写doGet和doPost方法。
doGet()方法用于处理get请求。
doPost()方法用于处理post请求。
l 配置信息:在web.xml进行配置。

4.访问servlet的流程
Servlet入门_servlet
5.实例编写

package test;

import javax.servlet.*;
import java.io.IOException;

public class Demo01 implements Servlet {

    @Override
    public void init(ServletConfig servletConfig) throws ServletException {

    }

    @Override
    public ServletConfig getServletConfig() {
        return null;
    }

    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        String a = servletRequest.getParameter("a");
        String b = servletRequest.getParameter("b");

        System.out.println(a + "......." + b);

        servletResponse.getWriter().println(123);
    }

    @Override
    public String getServletInfo() {
        return null;
    }

    @Override
    public void destroy() {

    }
}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">

    <servlet>
        <servlet-name>demo</servlet-name>
        <servlet-class>test.Demo01</servlet-class>
    </servlet>
    
    <servlet-mapping>
        <servlet-name>demo</servlet-name>
        <url-pattern>/a</url-pattern>
    </servlet-mapping>

</web-app>

6.继承HttpServlet类

package test;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class Demo02 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String a = req.getParameter("a");
        String b = req.getParameter("b");

        System.out.println(a + "........." + b);

        resp.getWriter().println("你好呀");
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">

    <servlet>
        <servlet-name>demo</servlet-name>
        <servlet-class>test.Demo01</servlet-class>
    </servlet>
    
    <servlet-mapping>
        <servlet-name>demo</servlet-name>
        <url-pattern>/a</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>demo01</servlet-name>
        <servlet-class>test.Demo02</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>demo01</servlet-name>
        <url-pattern>/b</url-pattern>
    </servlet-mapping>

</web-app>