我有一个JSP Web服务器,页面都以.jsp扩展名结尾.
如何在不借助非Java技巧(例如,apache重写)的情况下将其隐藏在我的Web服务器URL中?
例如: 用户只需键入http://www.sample.com/search?xxx, 而不是键入http://www.sample.com/search.jsp?xxx
kgi*_*kis 10
您可以像这样创建一个servlet映射:
<servlet-mapping>
<servlet-name>MappingServlet</servlet-name>
<url-pattern>path/*</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
必须编辑url-pattern以满足您的需要.当然,您需要创建servlet以将url映射到实际的jsp.大多数MVC框架都使用此技术.
UrlRewrite是一个很好的灵活的基于Java的框架独立解决方案.
这比Servlet映射更好web.xml,因为它在您可以做的事情上太有限,并且比基于Apache的解决方案更好,因为它是您的Web应用程序的一部分,因此您不需要将Apache放在应用程序服务器之前.
在web.xml文件中使用此servlet映射。
<servlet>
<servlet-name>search</servlet-name>
<jsp-file>/search.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>search</servlet-name>
<url-pattern>/search</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
RewriteEngine On
RewriteRule ^([0-9a-zA-Z]+)$ $1.jsp
Run Code Online (Sandbox Code Playgroud)
在您的 .htaccess 中,应将所有 URL 重写为 .jsp。所以 search.jsp 只是搜索,正如您所描述的。
| 归档时间: |
|
| 查看次数: |
22282 次 |
| 最近记录: |