解决Invalid <url-pattern> servletDemo in servlet mapping 问题

本文档记录了如何处理InvalidServletDemo错误,该错误通常出现在Servlet映射配置不正确时。参考提供的链接,你将找到详细的步骤来诊断和修复这个问题,确保你的Web应用能够正常运行。
index.jsp <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>首页</title> </head> <body> <h2>登录成功!</h2> <!-- 从请求域中获取用户名并显示 --> <p>欢迎您,${username}!</p > </body> </html> login.jsp <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>登录</title> </head> <body> <h3>用户登录</h3> <!-- 表单提交到LoginServlet(路径对应web.xml中的url-pattern--> <form action="/ch6/login" method="post"> 用户名:<input type="text" name="username"><br><br> <input type="submit" value="登录"> </form> </body> </html> LoginServlet.java package com.demo; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; // 处理登录提交的Servlet public class LoginServlet extends HttpServlet { @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { // 1. 设置请求编码(解决中文乱码) request.setCharacterEncoding("UTF-8"); // 2. 获取表单提交的用户名(仅演示,不验证) String username = request.getParameter("username"); // 3. 将用户名存入请求域(供首页使用) request.setAttribute("username", username); // 4. 转发到首页(跳转页面) try { request.getRequestDispatcher("/index.jsp").forward(request, response); } catch (Exception e) { e.printStackTrace(); } } } 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"> <!-- 配置LoginServlet --> <servlet> <servlet-name>LoginServlet</servlet-name> <!-- Servlet名称(自定义) --> <servlet-class>com.demo.LoginServlet</servlet-class> <!-- 完整类名(包名+类名) --> </servlet> <servlet-mapping> <servlet-name>LoginServlet</servlet-name> <!-- 与上方名称一致 --> <url-pattern>/login</url-pattern> <!-- 访问路径(表单提交地址) --> </servlet-mapping> </web-app> 1.空用户名提交→跳转到loginError.jsp,显示“用户名不能为空”。 2.空密码提交→跳转到loginError.jsp,显示“密码不能为空”。 3.错误账号密码(如user/123)→跳转到loginError.jsp,显示“账号或密码错误”。 4.正确账号密码(admin/123456)→重定向到index.jsp,显示“欢迎您,admin!”,使用session存储用户名。 5.刷新首页→无“重复提交表单”提示,证明redirect生效。 6.修改web.xml中rightPwd为654321→用新密码登录成功,证明init方法读取配置生效。 7.直接访问Servlet路径(如http://localhost:8080/你的项目名/loginServlet)→显示提示“请通过登录表单提交请求,不要直接访问此页面”。 给我实现这些页面跳转,错误跳转到loginError.jsp,先完成前五个要求,再修改web.xml文件,继续完成别的要求
11-14
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值