JSP Servlet Mapping无法正常工作

时间:2015-11-21 10:08:31

标签: java jsp

我想用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目录下

screeshot

我使用Eclipse EE和Tomcat 7 为什么它没有用?

2 个答案:

答案 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
  • 我已将我的HTML和JSP文件保存在/WebContent文件夹中。

答案 1 :(得分:0)

您可以在web.xml中的servlet标记声明中定义servlet-class参数并创建servlet类。您的servlet类重定向到您的jsp页面。 Servlet是MVC模式中的控制器,Jsp是视图组件。