我使用nginx和tomcat来为我用jsp编写的网站提供服务。如何在浏览器地址栏上隐藏/更改jsp扩展名?
答案 0 :(得分:3)
您可以在Web应用程序的web.xml文件中映射每个JSP。
<servlet>
<servlet-name>myTest</servlet-name>
<jsp-file>/testing.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>myTest</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
使用此示例映射,您只需将“/ test”附加到您的Web应用程序的URL。
答案 1 :(得分:2)
假设你想现在使用“myExt”。您必须编写一个映射到* .myExt的Filter / Servlet。这个servlet将拦截所有为“.myExt”发出的请求,并在内部将其转发给“.jsp”
以下内容进入web.xml
<servlet>
<servlet-name>MyExt Servlet</servlet-name>
<servlet-class>com.MyExtServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>MyExt Servlet</servlet-name>
<url-pattern>*.myExt</url-pattern>
</servlet-mapping>
以下内容进入Servlet
public class MyExtServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse rsp) {
// put your custom code here. I am just to replace the ext
String url = req.getServletPath();
Rsp.getRequestDispatcher(url).forward(req,rsp);
}
}
我刚刚编写代码。因此,我对它的任何编译问题表示道歉,但它应该让你知道可以做些什么。
答案 2 :(得分:-2)
由于在其他答案中尚未提及,我会说:首先,你不应该有指向JSP的URL。使用像Stripes或Spring MVC这样的MVC框架,
在JSP中使用Java代码是不安全的,不可维护的,并且促进了copy'n粘贴编程而不是简洁的设计。