第一步:建工程
编写servlet
public class LoginServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("utf8");
resp.setCharacterEncoding("utf8");
String username = req.getParameter("username");
String password = req.getParameter("password");
String[] hobbys = req.getParameterValues("hobbys");
resp.setContentType("text/html");
System.out.println(username+"\t"+password+"\n"+ Arrays.toString(hobbys));
//网页转发 这里的/代表当前web应用
req.getRequestDispatcher("/success.jsp").forward(req,resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
在web.xml中对servlet进行注册
<!-- 注册servlet-->
<servlet>
<servlet-name>login</servlet-name>
<servlet-class>com.csnz.servlet.LoginServlet</servlet-class>
</servlet>
<!-- 配置servlet对应的映射-->
<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
编写index页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>请求与转发</title>
</head>
<body>
<div style="text-align: center;">
<form action="${pageContext.request.contextPath}/login" method="post">
用户名:<input type="text" name="username" required> <br>
密码: <input type="password" name="password" required> <br>
爱好:
<input type="checkbox" name="hobbys" value="Java">Java
<input type="checkbox" name="hobbys" value="Go">Go
<input type="checkbox" name="hobbys" value="Python">Python
<input type="checkbox" name="hobbys" value="SSM">SSM
<br>
<input type="submit" value="提交">
</form>
</div>
</body>
</html>
编写转发的页面
启动服务器并运行
注意事项:
网页转发 这里的/代表当前web应用 所以不需要写指定的context的名称