JAVAWEB项目下的WEB-INF安全目录

mark一下

前一段时间,处理安全漏洞问题,问题是这样的,你可以输入一个链接访问jsp页面,能访问的,但是正常情况下是不可能访问到的,这是WEB-INF的目录是javaweb项目的安全目录,它只允许服务端访问,客户端是不可能访问。WEB-INF存放xxx.jsp 或者xx.html等一些不让客户端只能访问的,静态资源如css,image是放在非WEB-INF目录下的。那么,对于我遇到的问题,是把项目的jsp等页面放到WEB-INF目录下,同时修改对应的映射路径(老项目,不想吐槽了)。

那么问题来了,对于springboot是如何做的呢?

springboot最近比较火的一个技术框架,它提供开箱即用,本身集成Tomcat、jetty容器,通过一个main方法,告别的springMVC繁琐的过程。如果要使用jsp,步骤如下:

  1. 添加pom依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- servlet 依赖 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency> <!-- tomcat 的支持.--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> </dependency>
  2. 添加WEB-INF 目录

3.编写controller进行访问

@RequestMapping(value = "/goto", method = RequestMethod.GET)
	public String gotoApp() {
		return "index";
	}

4.启动主类中的main函数就可在浏览中访问了。

通过以上的配置就可以使用jsp了,是不是很爽啊,但是等等啊,springboot其实是不推荐使用jsp的,官方建议使用Thymeleaf,可参考官方的建议:。在此就不赘述了。

经验分享 程序员 微信小程序 职场和发展