Servlet是什么
Servlet本质是用Java编写的服务器端程序。运行在web服务器中。
Servlet有什么用?
1.接收客户端请求
2.在服务器端进行接收和处理
3.反馈结果给客户端
案例
客户端打开add.html这个页面,客户端向服务器端请求add.html资源,服务器端反馈资源给客户端,客户端对超文本语言进行解析呈现给用户。
Servlet编写案例:
需求:用户输入相关信息,Servlet处理信息,在控制台进行输出展示
- 首先需要一个前端页面(add.html)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="add" method="post">
名称:<input type="text" name="fname"><br/>
价格:<input type="text" name="price"><br/>
库存:<input type="text" name="fcount"><br/>
备注:<input type="text" name="remark"><br/>
<button>添加</button>
</form>
</body>
</html>
效果图:
- Servlet编写
package servlet;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* @author 27938
*/
public class AddServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//获取属性进行展示
String fname = req.getParameter("fname");
String price = req.getParameter("price");
String fcount = req.getParameter("fcount");
String remark = req.getParameter("remark");
System.out.println("名称:" + fname);
System.out.println("价格:" + price);
System.out.println("数量:" + fcount);
System.out.println("备注:" + remark);
}
}
- Servlet配置
1.用户发送请求,action =add
2.在web.xml中寻找url-pattern为 /add
3.对应的servlet名字为add,找名字一致的servlet
4.映射到add对应的servlet实现类
<?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>add</servlet-name>
<servlet-class>servlet.AddServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>add</servlet-name>
<url-pattern>/add</url-pattern>
</servlet-mapping>
<!--
1.用户发送请求,action =add
2.在web.xml中寻找url-pattern为 /add
3.对应的servlet名字为add,找名字一致的servlet
4.映射到对应的servlet实现类
-->
</web-app>
- 运行后跳转到add