我想用servlet-mapping重定向JSP文件,这样就可以在没有.jsp extesnsion的情况下访问它。我尝试了一些教程,但它没有用。
首先,我在WebContent / WEB-INF目录下创建了一个web.xml文件
这是web.xml的内容
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>asukon.jsp</servlet-name>
<jsp-file>/asukon.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>asukon.jsp</servlet-name>
<url-pattern>/asukon</url-pattern>
</servlet-mapping>
</web-app>
文件asukon.jsp位于WebContent目录下
我使用Eclipse EE和Tomcat 7 为什么它没有用?
答案 0 :(得分:2)
servlet映射工作正常。我的猜测是你没有点击正确的url。如果你点击http://localhost:8080/bbb/asukon
,你会很好。(假设bbb
是你的项目名称图像)
这是我试过的
<强> HTML 强>
<body>
<form name=login method="post" action="asukon">
<table>
<tr><td>UserName</td>
<td><input type="text" name="userName"/></td>
<tr><td>Password</td>
<td><input type="password" name="password"/></td>
</tr>
<tr><td></td><td><button type="submit">login</button></td></tr>
</table>
</form>
</body>
<强>的web.xml 强>
<servlet-name>asukon.jsp</servlet-name>
<jsp-file>/asukon.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>asukon.jsp</servlet-name>
<url-pattern>/asukon</url-pattern>
</servlet-mapping>
<强> asukon.jsp 强>
<body>
This is a test page
</body>
注意 -
asukon.jsp
使用网址http://localhost:8080/MyProjectName/asukon
。/WebContent
文件夹中。答案 1 :(得分:0)
您可以在web.xml中的servlet标记声明中定义servlet-class参数并创建servlet类。您的servlet类重定向到您的jsp页面。 Servlet是MVC模式中的控制器,Jsp是视图组件。