- _nosay
什么是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请求