2016-03-29 28 views
0

我想開發一個applicationdeployWebSphere,其中要求是:如何攔截一個url並將其重定向到一個jsp頁面?

,如果有喜歡的http://appserver1:9080/的任何請求 - 它會達到一個登陸jsp頁面

for example http://appserver1:9080/index.jsp 

是它在所有即使我沒有提及 資源名稱,也可能重定向到一個頁面?

+0

你可以使用response.sendRedirect()方法重定向到jsp – Jois

+0

你的第二個問題:是的,你可以。但我不確定.jsp是否適用於.html' – Jois

+0

這也可以在將應用程序部署爲Websphere中的EAR時進行處理。部署時,將上下文根設置爲'/',我想要的功能將會起作用。 :) – paularka90

回答

1

如果您想從服務器的根重定向,這不是關於您的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的細節

+0

感謝您的迴應。以上工作正常。 但實際需求是這樣的, 我只會調用URL:http:// localhost:8080/ ,這會將我重定向到我的着陸頁,例如home.jsp。 我想知道如果我沒有在URL中提及/ myproject名稱是否可能。 – paularka90

+1

@ paularka90好吧,這不是關於你的java代碼或項目代碼。這是關於你的服務器配置。對於websphere,請參閱http://stackoverflow.com/a/26874378/517134它可能會有所幫助。 –

+0

感謝優素福。 現在它的工作很完美。 :) – paularka90

0

可以在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時,你可能不需要配置任何東西。

1

從你所描述的情況來看,重定向可以通過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> 

我希望這可以幫助

相關問題