【spring boot】5.spring boot 创建web项目并使用jsp作前台页面

贼烦的是,使用spring boot 创建web项目,然后我再idea下创建的,but 仅仅启动spring boot的启动类,就算整个项目都是好着的,就算是能够进入controller中,也不能成功访问到jsp页面。很尴尬!也很无语!

 

好吧,开头一句抱怨,下面全靠编~~~

=======================================================================================================

1.idea下spring boot创建web项目

刚创建完是下面这样

 

当然,最后创建完的使用JSP的web项目可不是这个结构的。往下看。

  

2.pom.xml添加下面

<!--web 支持-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!--jsp页面使用jstl标签-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
        </dependency>

        <!--用于编译jsp-->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <scope>provided</scope>
        </dependency>

View Code

上面这三个是spring boot项目创建使用jsp页面的web项目必须的三个依赖 

这里介绍下maven中scope依赖范围的概念,因为后续涉及到这个会有问题。

依赖范围就是用来控制依赖和三种classpath(编译classpath,测试classpath、运行classpath)的关系,Maven有如下几种依赖范围:

  • compile:编译依赖范围。如果没有指定,就会默认使用该依赖范围。使用此依赖范围的Maven依赖,对于编译、测试、运行三种classpath都有效。典型的例子是spring-code,在编译、测试和运行的时候都需要使用该依赖。
  • test: 测试依赖范围。使用次依赖范围的Maven依赖,只对于测试classpath有效,在编译主代码或者运行项目的使用时将无法使用此依赖。典型的例子是Jnuit,它只有在编译测试代码及运行测试的时候才需要。
  • provided:已提供依赖范围。使用此依赖范围的Maven依赖,对于编译和测试classpath有效,但在运行时候无效。典型的例子是servlet-api,编译和测试项目的时候需要该依赖,但在运行项目的时候,由于容器以及提供,就不需要Maven重复地引入一遍。

3.创建webapp目录,并创建jsp页面在目录下

注意创建的目录层级关系

如果再创建jsp页面的时候,不能右键直接创建的话,可以http://www.cnblogs.com/sxdcgaq8080/p/7676294.html

 

4.application.properties配置文件的完善

注意前缀 的值是 /WEB-INF/views/  而不是 /WEB-INF/views

少一个/ 整个访问的路径就是不完整的。

spring.mvc.view.prefix = /WEB-INF/views/
spring.mvc.view.suffix = .jsp

因为webapp在刚刚上面创建jsp页面的时候,已经被指定为classpath了,也就是根路径了。

 

所以现在,这里配置了mvc的【view】视图层前缀后缀,指定controller中寻找页面就去/WEB-INF/views/  下面去找.jsp文件了。

 

5.写一个跳转页面的controller层

 

 

6.所以,最终项目的目录结构是这个样子的

哦哦,这里有一个web目录,是可以删掉的,不过删不删也无所谓,没有多大的关系

7.最后一步,启动并且能访问

这里不是通过启动类去启动,而是需要通过spring-boot:run去启动

 

右键 run 或者debug都可以

然后 启动起来之后在浏览器访问

是可以访问到的。

 

 

8.还有就是,如果把用于编译jsp的 这个插件的scope注解,也就是使用默认的scope

        <!--用于编译jsp-->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <!--<scope>provided</scope>-->
        </dependency>

 

然后import 整个pom.xml文件之后。

再通过 启动  启动类的方式来启动spring boot项目的话,也是可以访问的到的【我把web目录删掉了】

 

通过启动spring-boot:run的方式也可以访问到。

 

 

=====================================================================================================

因为确实碰到很多小的点注意不到的地方,导致整个就是访问不到,反正上面该罗列的都罗列出来了。

 

时间: 2024-09-17 04:29:34

【spring boot】5.spring boot 创建web项目并使用jsp作前台页面的相关文章

java-Myeclipse激活之后打开无法创建web项目

问题描述 Myeclipse激活之后打开无法创建web项目 如题:Myeclipse激活之后打开无法创建web项目,点击创建web project,什么也没有 出现,在java project里面打开不了xml文件.急求大神破解!! 解决方案 重新装一个myeclipse吧,装个高版本的,根据你的描述不知道是什么问题,贴一下图片吧 解决方案二: 可能是你的注册操作不整齐,试试下面的步骤: 1.打开help,选择倒数第二个 myeclipse configuration center 2.进入 m

c#.NET创建Web项目时出误

问题描述 创建Web项目时,Web服务器报告错误."与服务器的连接被智重置" 解决方案 解决方案二:该回复于2008-04-17 12:09:18被版主删除

IntelliJ IDEA 12 创建Web项目 教程 超详细版

原文:IntelliJ IDEA 12 创建Web项目 教程 超详细版 IntelliJ IDEA 12 新版本发布 第一时间去官网看了下  黑色的主题 很给力 大体使用了下  对于一开始就是用eclipse的童鞋们 估计很难从eclipse中走出来 当然 我也很艰难的走在路上 ... 首先要说一点,在IntelliJ IDEA里面"new Project" 就相当于我们eclipse的"workspace",而"new Module"才是创建一

请各位高手学哥学姐们帮帮忙呀!尝试创建Web项目或打开位于URL&amp;amp;quot;http://localhost/WebAplication1&amp;amp;quot;的Web项目时,Web服务器报告了以下错误。“http/1.1500 Server Error”。

问题描述 小弟的刚装好,出现下面的错误.尝试创建Web项目或打开位于URL"http://localhost/WebAplication1"的Web项目时,Web服务器报告了以下错误."http/1.1500ServerError". 解决方案 解决方案二:1.查看自己是否使用了代理.2.尝试使用命令重新注册C:WINNTMicrosoft.NETFrameworkv1.1.4322aspnet_regiis.exe-i重新启动IIS.解决方案三:还是不行呀?怎么办

Intellij Idea 创建Web项目入门(一)

原文:Intellij Idea 创建Web项目入门(一) 相关软件: Intellij Idea14:http://pan.baidu.com/s/1nu16VyD JDK7:http://pan.baidu.com/s/1dEstJ5f Tomcat(apache-tomcat-6.0.43):http://pan.baidu.com/s/1kUwReQF   Intellij Idea的安装非常简单,一步一步安装即可. JDK的安装也挺简单的,重要的是配置环境.在环境变量Path里面添上J

【maven】maven创建web项目-pom文件提示web.xml is missing and &lt;failOnMissingWebXml&gt; is set to true

使用maven创建web项目,选择war类型后,pom文件红叉 提示web.xml is missing and <failOnMissingWebXml> is set to true 也有可能: 初始创建了本项目为web项目,然后虽然把web.xml文件放在了WEB_INF下,这两个文件夹虽然放在webapp下了,但是还是报错   解决方法: 这时候需要右击项目-->Java EE Tools-->Generate Deployment Descriptor Stub.然后系统

Spring MVC完全注解方式配置web项目_java

在servlet 3.0 开始web项目可以完全不需要web.xml配置文件了,所以本文的配置只在支持servlet 3.0及以上的web容器中有效 使用的是spring mvc (4.3.2.RELEASE) + thymeleaf(3.0.2.RELEASE), 持久层使用的 spring的 JdbcTemplate, PS:推荐一个很好用的对JdbcTemplate封装的框架:https://github.com/selfly/dexcoder-assistant  . 下面开始具体的配置

maven创建web项目并导入到eclipse里之后的操作

问题描述 我用maven创建了一个web项目并导入到了eclipse里面,然后应该在哪里编写我的java文件和jsp文件,然后如何添加到tomcat之中进行调试,还有需要怎么写pom文件.求高手指点. 解决方案 解决方案二:在src中建包建类写你的java代码..在WebRoot目录下建jsp文件,工具栏里面有个delopy的工具按钮,这个是发布.然后这个按钮旁边有个run/stop的按钮,启动tomcat,这样就能进行调试了解决方案三:还没在eclipse中直接使用maven,听说是个好东东.

VS2012 创建WEB项目只能创建MVC项目,其它什么项目都没有。

问题描述 VS2012Ultimate,不能创建acsx文件,在添加里面找不到usercontrol.新建WEB项目也只有MVC选项,没有一般WEBASP.NETApplication...请问咋回事? 解决方案 解决方案二:VS2012安装的问题,缺少文件,你可以更新到最新版,我是更新到update4解决方案三:在安装一次你下载的不对解决方案四:引用1楼wangnaisheng的回复: VS2012安装的问题,缺少文件,你可以更新到最新版,我是更新到update4 去哪更新解决方案五:引用2楼