直接上图
在idea中创建一个springboot项目,选择好自己使用的jdk刚创建好的项目目录结构如下图所示。其中,java目录下使我们java代码:像controller,service之类;resources目录下存放的是一些项目相关的静态文件和配置文件:static主要存放js文件、图片和html文件,templates放得是前端页面thymeleaf,application.properties就是springboot配置文件啦 因为我前端用的是jsp,所以在java和resources并列的位置创建了一个webapp,然后在webapp下创建了一个WEB-INF目录用来存放jsp文件 然后在pom文件中加入了支持jsp的依赖jar <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <!-- provided表明该包只在编译和测试的时候用 --> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> </dependency> 对springboot配置文件做了简单配置,主要是配置jsp文件访问路径,这个格式是yml格式,只需要把application.properties后缀更改为yml即可,springboot支持yml和properties两种配置格式 server: port: 8080 servlet: context-path: /sessionDemo spring: mvc: view: suffix: .jsp prefix: /WEB-INF/page 后边就是写自己的java代码和jsp页面了,很简单的代码我就补贴了哈哈一切搞定,兴奋的我赶紧启动项目开始访问,结果却出错了,遇到了如下错误 遇到错误咱就解决错误,于是我就开始在网上查找资料,发现网上大致都是说出现这种问题有两种可能,第一种就是:启动类放置的位置不对(应该放置在最外层包下,因为项目启动后,springboot会默认扫描启动类同包和子包下的类),另一种就是:项目配置文件中的jsp访问路径有问题,低版本的springboot配置没有view(spring.mvc.view.suffix= .jsp) 但是我检查了发现这两种情况我都不存在。 于是我将controller的方法加上@ResponseBody发现能够输出内容到浏览器,到这一步确定是jsp配置有问题,于是检查项目配置文件发现,jsp配置少写了一个“/”,正确的配置为
server: port: 8080 servlet: context-path: /sessionDemo spring: mvc: view: suffix: .jsp prefix: /WEB-INF/page/还是自己太粗心啊
我在创建项目时有一步没有做
进入项目设置界面 创建一个web 将Deployment Descriptors下的内容清空,这部分用来配置web.xml路径,清空是因为springboot项目用不到web.xml;将web Resource Directory路径改为webapp路径,用来指示前端页面文件在该目录下 配置完成后项目中的变化是,webapp文件夹上多了一个小圆点 现在在webapp下可以创建jsp文件了,如果不配置,是不能创建的