Servlet 是开发动态 web 的一门技术
开发 Servlet 程序步骤:
1.编写一个类,实现 Servlet 接口
2.把开发好的 Java 类部署到 web 服务器中
把实现了 Servlet 接口的 Java 程序叫做 Servlet
搜索 servlet、jsp,复制到 pom.xml 下 <dependencies>...</dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.3</version>
<scope>provided</scope>
</dependency>
爆红刷新就好
实现 Servlet 接口,可以直接继承 HttpServlet,加 extends
快捷键:ctrl + o,重写方法
代码如下:
package com.demo.servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
//实现Servlet接口,可以直接继承HttpServlet
public class HelloServlet extends HttpServlet {
//由于get或post只是请求实现的不同方式,可以相互调用,业务逻辑一致
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//super.doGet(req, resp);
PrintWriter writer = resp.getWriter(); //响应流
writer.print("Hello,Servlet!");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doPost(req, resp);
}
}
编写 Servlet 映射:
写的是 Java 程序,但要通过浏览器访问,需要连接 web 服务器
所以需要在 web 服务器中注册我们写的 Servlet,还需要给他一个浏览器能够访问的路径
web.xml 如下:
<servlet-class> 里放自己的路径
<?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"
metadata-complete="true">
<!--注册Servlet-->
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>com.demo.servlet.HelloServlet</servlet-class>
</servlet>
<!--Servlet的请求路径-->
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
配置 Smart Tomcat
运行后,在地址栏后接 hello 回车即可出现 Hello,Servlet!