2015-11-21 172 views
1

我想用servlet-mapping重定向一個JSP文件,以便在沒有.jsp擴展的情況下訪問它。我嘗試了一些教程,但沒有奏效。JSP Servlet映射不起作用

首先,我創建的WebContent/WEB-INF目錄下的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目錄下的web.xml的內容

screeshot

我使用Eclipse EE和Tomcat 7 爲什麼它不工作?

+0

它不起作用?你有什麼錯誤嗎?你的表格是什麼? –

+0

如果您提供了無效的URL,以便將來的用戶可以看到答案如何解決了您的問題,那將會非常有用。 – ManoDestra

回答

2

servlet映射工作perfectly.My的猜測是,你不打正確的url.If你會打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 與URL http://localhost:8080/MyProjectName/asukon
  • 我已將我的HTML和JSP文件保存在/WebContent文件夾中。
0

您可以在web.xml中的servlet標籤聲明中定義servlet-class參數並創建servlet類。您的servlet類重定向到您的jsp頁面。 Servlet是MVC模式中的控制器,Jsp是視圖組件。