spring boot jsp配置以及遇到的问题

       今天想把试试shiro oauth,下了dome,结果它里面是用数据库,我不想这么复杂我想把这个的数据库的查询去掉,就采用spring boot 主要为了减少配置文件,结果开始配置jsp为页面模板,配了一阵子,出现了各种问题,最后还是把问题解决好了,其实网上很多,但是都是或多或少的实现上有问题,经过我的实践,我简单记在这里,首先从需要的jar入手,想要spring boot +jsp,需要如下的maven 配置:

    首先我采用的spring boot 1.4,我用  parent 来控制spring boot 相关的版本。

  <parent>
       <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-parent</artifactId>
      <version>1.4.0.RELEASE</version>
  </parent>

    相关包maven:

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <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>
     <!-- <scope>provided</scope>-->
    </dependency>
    <!-- servlet 依赖. -->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <scope>provided</scope>
    </dependency>


    <!--
        JSTL(JSP Standard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上,如tomcat 4.x。在JSP 2.0中也是作为标准支持的。
        不然报异常信息:
        javax.servlet.ServletException: Circular view path [/helloJsp]: would dispatch back to the current handler URL [/helloJsp] again. Check your ViewResolver setup! (Hint: This may be the result of an unspecified view, due to default view name generation.)


     -->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>

  其中:我要提醒读者你注意:在添加maven 时注意pom中tomcat-embed-jasper,spring-boot-starter-tomcat maven中的<scope>provided</scope>注释掉,还有javax.servlet-api的<scope>provided</scope>不能省掉,否者会在项目中出现没法跳转页面,很多人都提到了在application.properties中配置请求返回值的缺省前目录与缺省后目录这个的实用性太低(这个只针对于jsp的配置),我采用的方式是在配置类中加入如下的InternalResourceViewResolver 的bean的配置就好了,如下:

    @Bean(name="viewResolver")
    public InternalResourceViewResolver viewResolver(){
        InternalResourceViewResolver view=new InternalResourceViewResolver();
        view.setOrder(0);
        view.setPrefix("/WEB-INF/jsp/");
        view.setSuffix(".jsp");
        view.setViewClass(JstlView.class);
        view.setContentType("text/html");
        return view;
    }

这样的好处是如果没有配置默认的InternalResourceViewResolver ,方便设置,注意jsp页面最好放到WEB-INF下,这个jsp的默认没有提供,所以配置一个比较好,我试了那个配置配的方式不好用,然后开启@EnableWebMvc就好了。这样就好了。很多人的继承SpringBootServletInitializer,这个我感觉没有太大的必要,个人看法,不喜勿喷。继续。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值