web项目更改文件后缀,隐藏编程语言
2017-11-09 00:00
197 查看
从Java EE5.0开始,<servlet-mapping>标签就可以配置多个<url-pattern>。例如可以同时将urlServlet配置一下多个映射方式:
这时,不加后缀和加.asp/.jsp/.php访问,都会正常显示。
<servlet> <servlet-name>servletName</servlet-name> <servlet-class>com.copy.project.UrlServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>servletName</servlet-name> <url-pattern>/servlet/urlServlet</url-pattern> <url-pattern>/servlet/urlServlet.asp</url-pattern> <url-pattern>/servlet/urlServlet.jsp</url-pattern> <url-pattern>/servlet/urlServlet.php</url-pattern> </servlet-mapping>
这时,不加后缀和加.asp/.jsp/.php访问,都会正常显示。
项目中
web.xml中配置<servlet> <servlet-name>JSP Protect</servlet-name> <servlet-class>com.companyname.web.JspProtect</servlet-class> <init-param> <param-name>prefix</param-name> <param-value>/wp</param-value> </init-param> <init-param> <param-name>suffix</param-name> <param-value>.shtm</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>JSP Protect</servlet-name> <url-pattern>*.shtm</url-pattern> </servlet-mapping>
JspProtect类
1 private static final long serialVersionUID = -6821655106461234567L; 2 3 private String contextPath; 4 private String prefix; 5 private String suffix; 6 7 public void init(ServletConfig config) throws ServletException { 8 super.init(config); 9 contextPath = config.getServletContext().getContextPath(); 10 prefix = StringUtils.defaultIfEmpty( 11 config.getInitParameter("prefix"), ""); 12 suffix = StringUtils.defaultIfEmpty( 13 config.getInitParameter("suffix"), ".htm"); 14 } 15 //项目中其他的类调用此方法会进行处理 16 public void execute(RequestContext context) throws Exception { 17 String toUrl = context.getRequest().getRequestURI(); 18 toUrl = toUrl.replaceFirst(contextPath, prefix); 19 toUrl = toUrl.replace(suffix, ".jsp"); 20 21 context.getRequest().getRequestDispatcher(toUrl).forward(context.getRequest(), context.getResponse()); 22 23 }
相关文章推荐
- web项目更改文件后缀,隐藏编程语言
- VS2005 Web项目安装部署:利用预编译的Dll 隐藏.cs文件 的简单实现
- VS2005 Web项目安装部署:利用预编译的Dll 隐藏.cs文件
- java web项目js文件始终是乱码(剪切到记事本更改格式另存为也没用)关于编码过滤器的一种情况及解决方案
- VS2005 Web项目安装部署:利用预编译的Dll 隐藏.cs文件 的简单实现
- VS2005 Web项目安装部署:利用预编译的Dll 隐藏.cs文件 的简单实现
- VS2005 Web项目安装部署:利用预编译的Dll 隐藏.cs文件 的简单实现
- VS2005 Web项目安装部署:利用预编译的Dll 隐藏.cs文件 的简单实现
- 在myeclipse中创建的javaweb项目中没有web.xml文件
- 面试常见问题:如何加密Web项目中配置文件中的密码?
- JavaWeb项目 Web.xml文件详解(标签含义)
- eclipse 项目用tomcat发布更改配置文件之后发布编译的依然是旧的
- vue-cli的webpack模板项目配置文件分析
- 更改maven或者web项目名
- WEB项目web.xml文件中classpath: 跟classpath*:使用说明【学习笔记】
- Java Web项目如何读取.properties配置文件
- web项目部署到真正服务器上后就一直找不到文件路径
- 2.14 文件和目录权限chmod 2.15 更改所有者和所属组chown 2.16 umask 2.17 隐藏权限lsattr/chattr
- 无法从Web服务器获取项目文件
- 一个关于javaweb项目名处出现红叉,而项目下的目录和文件没有红叉的问题