什么是Servlet

2017-11-18 11:12:12

    Servlet是什么?

    Servlet(Server Applet),全称Java servlet。是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。

    Servlet是JavaWeb的核心程序,是Java Web三大组件之一(Servlet,Filter,Listener)。

    在Http请求过程中会把请求的参数存放在请求行的URL中,或者是请求体中,这个参数需要服务器来接收解析并处理,Servlet就是用来处理这个过程的。


    Servlet的作用?

    用来处理客户端发过来的请求,并对该请求做出响应

    1.获取接收客户端发送画虎类犬的请求数据

    2.处理请求

    3.将处理的结果通过响应发送到客户端


    编写第一个Servlet


    Servlet程序必须编写实现类

    1.通常是继承javax.servlet.http.HttpServlet


    下面编写第一个程序,在src中建立net.zixue.servlet包,在此包下建立HelloServlet  java class文件,内容如下

package net.zixue.servlet;

public class HelloServlet {
}

    然后继承自HttpServlet,但是发现idea找不到此类,解决办法: 链接地址

    重写doGet,以及doPost方法,如下所式

package net.zixue.servlet;

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 HelloServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.printf("接收到get请求!");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.printf("接收到post请求!");
    }
}


    配置web.xml文件,具体内容如下:

<?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_3_1.xsd"
         version="3.1">
<servlet>

    <servlet-name>helloServlet</servlet-name>
    <servlet-class>net.zixue.servlet.HelloServlet</servlet-class>

</servlet>

    <servlet-mapping>
        <servlet-name>helloServlet</servlet-name>
        <url-pattern>/test</url-pattern>
    </servlet-mapping>


</web-app>

  

    测试get请求

    



    测试post请求