如何在JSP中缩短URL地址

阿德里安·莫尔坎(AdriánMolčan)

我有一个关于在使用Java Servlet时缩短URL地址的问题。我需要将地址(例如www.IPaddress.com:8181/JSP/Index.jsp)缩短www.IPaddress.com,而不带端口号(8181)和.jsp扩展名。甚至可以做这样的事情吗?我在Eclipse IDE中开发了该Servlet应用程序,并且正在使用Apache Tomcat 8。

utpal416

通常,可以通过在某些Web服务器(例如apache)中创建虚拟主机并根据需要将其映射为重定向其他主机来实现这种映射。

我仅使用tomcat尝试了以下步骤并达到了您的要求。

  1. 修改您的tomcat的server.xml,以将主机的上下文路径删除为空白,如下所示

    <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Context path="" docBase="PATH_OF_YOUR_TOMCAT/webapps/YOU_APPLICATION_NAME"/>

  2. 您必须使用端口80运行tomcat才能从URL中删除端口。因此,您可以将server.xml中的现有端口更改为80,也可以在tomcat的server.xml中使用端口80添加另一个连接器。即,在这种情况下,您的tomcat将同时侦听8181和80。 admin作为端口80是特权端口。

    <Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    

    <Connector port="8181" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

完成上述2个步骤之后,您应该可以使用http://localhost/index.jsp访问您的应用程序

  1. 现在,您可以使用UrlRewriteFilter隐藏请求和响应中的JSP扩展,也可以使用如下所示的servlet映射

    <servlet> <servlet-name>ServletName</servlet-name> <jsp-file>some.jsp</jsp-file> </servlet> <servlet-mapping> <servlet-name>ServletName</servlet-name> <url-pattern>/somelink</url-pattern> </servlet-mapping>

您还可以将index.jsp作为欢迎文件列表放在web.xml中,如下所示

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

现在,您应该可以根据需要使用以下内容访问您的应用程序http:// localhost

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章