1.先展示项目目录:
2.项目配置:
3.上代码
register.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Register Page</title> </head> <body> <form action="RegServlet" method="get"> 请输入信息: <table> <tr> <td>客户名:</td> <td> <input type="text" id="username" name="username"/> </td> </tr> <tr> <td>邮箱地址:</td> <td> <input type="text" id="email" name="email"/> </td> </tr> <tr> <td>电话:</td> <td> <input type="text" id="mobile" name="mobile"/> </td> </tr> </table> <input type="submit" value="确定"/> <input type="reset" value="重置"/> </form> </body> </html>
RegisterServlet.java
package servlets; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; /** * @author liudw * @date 2021/2/24 15:07 * @effect 用户注册处理类 */ /* * * name属性的作用对应web.xml中<servlet-mapping>标签中的<servlet-name>,可以自由设置值 * urlPatterns属性的作用对应web.xml中<servlet-mapping>标签中的<url-pattern>,其值可以跟name属性不同,但是必须跟jsp页面中配置的action一致 * * */ @WebServlet(name = "RegisterServlet", urlPatterns = "/RegServlet") public class RegisterServlet extends HttpServlet { @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("UTF-8"); resp.setContentType("text/html;charset=utf-8"); String username = req.getParameter("username"); String email = req.getParameter("email"); String mobile = req.getParameter("mobile"); PrintWriter out = resp.getWriter(); out.println("<html>"); out.println("<body>"); out.println("<h3>您的名字是:" + username + "</h3>"); out.println("<h3>您的Email是:" + email + "</h3>"); out.println("<h3>您的电话是:" + mobile + "</h3>"); out.println("</body>"); out.println("</html>"); } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("UTF-8"); resp.setContentType("text/html;charset=utf-8"); String username = req.getParameter("username"); String email = req.getParameter("email"); String mobile = req.getParameter("mobile"); PrintWriter out = resp.getWriter(); //window.location:alert弹框消失后跳转到的页面 out.println("<script>alert('注册成功!');window.location='index.jsp';</script>"); } }
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_4_0.xsd" version="4.0"> <!-- 1.<servlet-mapping>标签中的servlet-name的值必须跟<servlet>标签中的servlet-name的值相同,值可以自定义 2.<servlet-mapping>标签中的url-pattern的值必须以"/"开头,且"/"后的字符串必须跟jsp页面中的action相同(即jsp与servlet通过这个进行匹配) 3.如果在Servlet类中使用了@WebServlet(name = "RegServlet", urlPatterns = "/RegServlet")配置,则不再需要在web.xml中配置<servlet>和<servlet-mapping>标签 --> <servlet> <servlet-name>RegisterServlet</servlet-name> <servlet-class>servlets.RegisterServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>RegisterServlet</servlet-name> <url-pattern>/RegServlet</url-pattern> </servlet-mapping> </web-app>
注:web.xml中的配置跟Servlet类中的@WebServlet(name = "RegisterServlet", urlPatterns = "/RegServlet")存在其一即可,二者共存也是可以的;