问题

在练习jsp的时候遇到一个问题,
通过pageContext.request.contextPath 取路径的时候取不到
请求url是这样的

http://localhost:8081/test04/$%7BpageContext.request.contextPath%7D/login?username=%E8%AE%A9%E4%BA%BA&password=111111


jsp页面代码

<html>
<body>
<h2>Hello World!</h2>
<form action="${pageContext.request.contextPath}/login" method="get">
    用户名:<input type="text" name="username"> <br>
    密码: <input type="password" name="password"> <br>
    <input type="submit">
</form>
</body>
</html>

后来发现是web.xml版本问题,web-app声明的版本太低,低于2.4,
我用的是idea2019,默认生成的web.xml版本·是2.3的,有很多问题

不要使用如下的代码
<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
  <display-name>Archetype Created Web Application</display-name>
</web-app>

解决办法

使用tomcat模板中使用的最新的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"
         metadata-complete="true">
</web-app>

请求url: http://localhost:8081/test04/login?username=%26%2335753%3B%26%2320154%3B&password=rrr+

分类: java

站点统计

  • 文章总数:315 篇
  • 分类总数:20 个
  • 标签总数:193 个
  • 运行天数:1156 天
  • 访问总数:40484 人次

浙公网安备33011302000604

辽ICP备20003309号