【问题标题】:How to intercept a url and redirect it to a jsp page?如何拦截一个url并将其重定向到jsp页面?
【发布时间】:2016-03-29 07:52:40
【问题描述】:

我想在WebSphere开发一个applicationdeploy,要求是:

如果有像http://appserver1:9080/这样的请求 - 它会到达一个登陆的jsp页面

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

即使我没有提及,是否有可能重定向到页面 资源名称?

【问题讨论】:

  • 你可以使用 response.sendRedirect() 方法重定向到一个jsp
  • 您的第二个问题:是的,您可以。但我不确定 .jsp 是否适用于 .html'
  • 这也可以在将应用程序部署为 Websphere 中的 EAR 时进行处理。部署时将上下文根设置为“/”,我想要的功能将起作用。 :)

标签: java jsp


【解决方案1】:

如果你想从服务器的根目录重定向,这与你的 java 代码或项目配置无关,它与服务器配置有关。 查看 here 以获取 WebSphere 配置。

对于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:localhost:8080,这会将我重定向到我的登录页面,例如 home.jsp。我想知道如果我不在 URL 中提及 /myproject 名称是否可以。
  • @paularka90 好的,这与您的 java 代码或项目代码无关。这是关于您的服务器配置的。对于 websphere,请参阅 stackoverflow.com/a/26874378/517134 它可能会有所帮助。
【解决方案2】:

根据您的描述,重定向几乎可以通过 servlet 映射来处理。在这里阅读:

https://docs.oracle.com/cd/E13222_01/wls/docs92/webapp/configureservlet.html

可以拦截URL请求并处理:

// web.xml 中的 Servlet 定义

<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>

希望对你有帮助

【讨论】:

    【解决方案3】:

    您可以在 web.xml 中定义欢迎文件

    <web-app>
        ...
        <welcome-file-list>
            <welcome-file>index.jsp/welcome-file>
        </welcome-file-list>
        ...
    </web-app>
    

    但是根据规范 index.html,index.htm 和 index.jsp 默认是欢迎文件。所以当文件被称为 index.jsp 时,你可能不需要配置任何东西。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-06
      • 1970-01-01
      相关资源
      最近更新 更多