我想開發一個application
和deploy
在WebSphere
,其中要求是:如何攔截一個url並將其重定向到一個jsp頁面?
,如果有喜歡的http://appserver1:9080/
的任何請求 - 它會達到一個登陸jsp頁面
for example http://appserver1:9080/index.jsp
是它在所有即使我沒有提及 資源名稱,也可能重定向到一個頁面?
我想開發一個application
和deploy
在WebSphere
,其中要求是:如何攔截一個url並將其重定向到一個jsp頁面?
,如果有喜歡的http://appserver1:9080/
的任何請求 - 它會達到一個登陸jsp頁面
for example http://appserver1:9080/index.jsp
是它在所有即使我沒有提及 資源名稱,也可能重定向到一個頁面?
如果您想從服務器的根重定向,這不是關於您的java代碼或項目配置,而是關於服務器配置。 查看用於WebSphere配置的here。
對於JEE項目,可以在web.xml上定義爲;
<web-app>
....
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
</welcome-file-list>
</web-app>
所以
http://localhost:8080/myproject
將加載的index.jsp
Source的細節
感謝您的迴應。以上工作正常。 但實際需求是這樣的, 我只會調用URL:http:// localhost:8080/ ,這會將我重定向到我的着陸頁,例如home.jsp。 我想知道如果我沒有在URL中提及/ myproject名稱是否可能。 – paularka90
@ paularka90好吧,這不是關於你的java代碼或項目代碼。這是關於你的服務器配置。對於websphere,請參閱http://stackoverflow.com/a/26874378/517134它可能會有所幫助。 –
感謝優素福。 現在它的工作很完美。 :) – paularka90
可以在web.xml中定義歡迎文件
<web-app>
...
<welcome-file-list>
<welcome-file>index.jsp/welcome-file>
</welcome-file-list>
...
</web-app>
但是根據spec index.html,index.htm和index.jsp是默認的歡迎文件。所以當文件名爲index.jsp時,你可能不需要配置任何東西。
從你所描述的情況來看,重定向可以通過servlets映射來處理。在這裏閱讀:
https://docs.oracle.com/cd/E13222_01/wls/docs92/webapp/configureservlet.html
可以能夠攔截的URL請求和處理:
// servlet定義在你的web.xml
<servlet>
<servlet-name>ServletHandler</servlet-name>
<servlet-class>com.servlets.ServletHandler</servlet-class>
</servlet>
//這映射到所有請求上面定義的servlet進行處理:
<servlet-mapping>
<servlet-name>ServletHandler</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
我希望這可以幫助
你可以使用response.sendRedirect()方法重定向到jsp – Jois
你的第二個問題:是的,你可以。但我不確定.jsp是否適用於.html' – Jois
這也可以在將應用程序部署爲Websphere中的EAR時進行處理。部署時,將上下文根設置爲'/',我想要的功能將會起作用。 :) – paularka90