- 在WEB-INF下建立jsp文件(我的jsp文件为page1.jsp)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.util.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- 另外一种写法:action="${pageContext.request.contextPath}/testServlet" -->
<form action="testServlet" method="post">
<select name = "color">
<option value="red" selected>red</option>
<option value="blue">blue</option>
<option value="black">black</option>
</select>
<input type="submit" value="submit">
</form>
</body>
</html>
- src下新建一个包(我的包名是com.servlet),然后包下建立servlet类(这里是Test类)。
- 编写实现方法,这里需要注意的是,jsp表单是get请求,则写doGet方法,是post请求,则写doPost方法。(例子是post请求)。
package com.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Test extends HttpServlet{
protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
String color = req.getParameter("color");
String colorName = "";
if("red".equals(color)) {
colorName="red";
}
if("blue".equals(color)) {
colorName="blue";
}
if("black".equals(color)) {
colorName="black";
}
res.setContentType("text/html;charset=UTF-8");
PrintWriter pw = res.getWriter();
pw.println("<html><body>"
+ "你选择了"+colorName+"<br></body></html>");
}
}
- 配置WEB-INF下的web.xml文件。
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>practice</display-name>
<servlet>
<!-- 设置名称 -->
<servlet-name>Name</servlet-name>
<!-- 指定servlet类名,这里必须填写完整类名,即包名+类名 -->
<servlet-class>com.servlet.Test</servlet-class>
</servlet>
<servlet-mapping>
<!-- 设置名称,这里必须和<servlet-name>标签的名称一样 -->
<servlet-name>Name</servlet-name>
<!-- 设置URL匹配模式,比如例子中程序名是practice,
则用http://localhost:8080/practice/testServlet
就可以访问该servlet。
因为这个URL是相对于程序根目录的,所以需要+‘/’
-->
<url-pattern>/testServlet</url-pattern>
</servlet-mapping>
<welcome-file-list>
<!-- 默认主页面 -->
<welcome-file>page1.jsp</welcome-file>
</welcome-file-list>
</web-app>
- 在WEB-INF下新建lib文件夹,将Tomcat的servlet-api.jar导入。这个jar包在Tomcat安装目录下的lib文件夹内。
- 设置jsp文件的action,action方法的参数是testServlet,(必须和web.xml里的映射是一致的,这里不需要+‘/’)这个方法参数也可以写为${pageContext.request.contextPath}/testServlet 。(这里需要+‘/’)
- 浏览器运行