今天看啥
    热点:

      天发国际娱乐官网:任何媒体转载、摘编、引用,须注明来源中国西藏网和署著作者名,否则将追究相关法律责任。

      Web应用之JSP+打war包在tomcat中运行实例讲解,tomcat实例讲解


      首先引入依赖:

      在build.gradle中

          //支持thymeleaf模板
          //compile("org.springframework.boot:spring-boot-starter-thymeleaf")
          //支持jsp
          compile('javax.servlet:jstl') //
          compile('javax.servlet:javax.servlet-api') 
          compile('org.springframework.boot:spring-boot-starter-tomcat')
          compile('org.apache.tomcat.embed:tomcat-embed-jasper')  //

      依赖包范围说明:

      compile:编译依赖范围。如果没有指定,就会默认使用该依赖范围。使用此依赖范围的Maven依赖,对于编译、测试、运行三种classpath都有效。典型的例子是spring-code,在编译、测试和运行的时候都需要使用该依赖。

      test: 测试依赖范围。使用次依赖范围的Maven依赖,只对于测试classpath有效,在编译主代码或者运行项目的使用时将无法使用此依赖。典型的例子是Jnuit,它只有在编译测试代码及运行测试的时候才需要。

      provided:已提供依赖范围。使用此依赖范围的Maven依赖,对于编译和测试classpath有效,但在运行时候无效。典型的例子是servlet-api,编译和测试项目的时候需要该依赖,但在运行项目的时候,由于容器以及提供,就不需要Maven重复地引入一遍。

      特别说明:经验证,暂时发现不能同时使用thymeleaf模板和JSP,如果开启了了支持thymeleaf,则controller跳转仍然按照 thymeleaf的格式跳转到templates 下面的同名html模板文件,同时servlet-api包用的compile范围,但是在idea和外部的tomcat中都可以正常启动。

      application.properties配置

      要支持jsp,需要在application.properties中配置返回文件的路径以及类型,这里指定了返回文件类型为jsp,路径是在/WEB-INF/jsp/下面。

      spring.mvc.view.prefix: /WEB-INF/jsp/
      spring.mvc.view.suffix: .jsp

      控制类

      上面步骤有了,这里就开始写控制类,直接上简单的代码,跟正常的springMVC没啥区别:

      @Controller
      @RequestMapping("/learnJsp")
      public class LearnResourceController {
          @RequestMapping("")
          public ModelAndView index(){
              List learnList =new ArrayList();
              LearnResouce bean =new LearnResouce("官方参考文档","Spring Boot Reference Guide","http://www.1click-soft.com/tfgjylgw/spring-boot/docs/1.5.1.RELEASE/reference/htmlsingle/#getting-started-first-application");
              learnList.add(bean);
              bean =new LearnResouce("官方SpriongBoot例子","官方SpriongBoot例子","http://www.1click-soft.com/tfgjylgw/spring-projects/spring-boot/tree/master/spring-boot-samples");
              learnList.add(bean);
              bean =new LearnResouce("龙国学院","Spring Boot 教程系列学习","http://www.1click-soft.com/tfgjylgw/article/detail/125488");
              learnList.add(bean);
              bean =new LearnResouce("嘟嘟MD独立博客","Spring Boot干货系列 ","http://www.1click-soft.com/tfgjylgw/");
              learnList.add(bean);
              bean =new LearnResouce("后端编程嘟","Spring Boot教程和视频 ","http://www.1click-soft.com/tfgjylgw/m1559096720023553/");
              learnList.add(bean);
              bean =new LearnResouce("程序猿DD","Spring Boot系列","http://www.1click-soft.com/tfgjylgw/article/detail/125488");
              learnList.add(bean);
              bean =new LearnResouce("纯洁的微笑","Sping Boot系列文章","http://www.1click-soft.com/tfgjylgw/spring-boot");
              learnList.add(bean);
              bean =new LearnResouce("CSDN——小当博客专栏","Sping Boot学习","http://www.1click-soft.com/tfgjylgw/column/details/spring-boot.html");
              learnList.add(bean);
              bean =new LearnResouce("梁桂钊的博客","Spring Boot 揭秘与实战","http://www.1click-soft.com/tfgjylgw/column/details/spring-boot.html");
              learnList.add(bean);
              bean =new LearnResouce("林祥纤博客系列","从零开始学Spring Boot ","http://www.1click-soft.com/tfgjylgw/category/356333");
              learnList.add(bean);
              ModelAndView modelAndView = new ModelAndView("/index");
              modelAndView.addObject("learnList", learnList);
              return modelAndView;
          }
      }

      用的对象类LearnResouce

      public class LearnResouce {
      
          private String author;
          private String title;
          private String url;
      
          public String getAuthor() {
              return author;
          }
      
          public void setAuthor(String author) {
              this.author = author;
          }
      
          public String getTitle() {
              return title;
          }
      
          public void setTitle(String title) {
              this.title = title;
          }
      
          public String getUrl() {
              return url;
          }
      
          public void setUrl(String url) {
              this.url = url;
          }
      
          public LearnResouce(String author, String title, String url) {
              this.author = author;
              this.title = title;
              this.url = url;
          }
      }

      jsp页面编写

      需在webapp/WEB_INF/jsp目录下新建index.jsp

      <%@ taglib prefix="spring" uri="http://www.1click-soft.com/tfgjylgw/tags"%>
      <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
      <%@ taglib prefix="c" uri="http://www.1click-soft.com/tfgjylgw/jsp/jstl/core"%>
      
      
      
      
      
      -www.1click-soft.com <script src="${pageContext.request.contextPath}/vanilla-cream-css/js/libs/modernizr.min.js"></script><script src="${pageContext.request.contextPath}/vanilla-cream-css/js/libs/jquery-1.10.0.js"></script><script src="${pageContext.request.contextPath}/vanilla-cream-css/js/libs/jquery-ui.min.js"></script><script src="${pageContext.request.contextPath}/vanilla-cream-css/js/libs/bootstrap.min.js"></script> <script src="${pageContext.request.contextPath}/vanilla-cream-css/js/general.js"></script>Sptring Boot学习资源大奉送,爱我就关注嘟嘟公众号:嘟爷java超神学堂
      作者 教程名称 地址
      ${learn.author} ${learn.title} 点我

      页面访问验证:

      最后启动tomcat输入http://localhost:9090/learnJsp 查看效果:

      这里写图片描述

      外部的Tomcat服务器部署war包

      打war包:

      在build.gradle中增加

      //编译为war包
      apply plugin: 'war'

      然后运行

      这里写图片描述

      或者命令行执行 gradle build

      会生成war包到配置文件中的生成路径

      然后把war放到tomcat的webapps下,最后启动tomcat,能正常访问如下图:

      这里写图片描述

      注意,springboot打war包需要做到如下修改才可以,否则找不对对应的jsp路径:

      主类继承SpringBootServletInitializer,同时重写configure方法

      外部容器部署的话,就不能依赖于Application的main函数了,而是要以类似于web.xml文件配置的方式来启动Spring应用上下文,此时我们需要在启动类中继承SpringBootServletInitializer并实现configure方法:

      public class Application extends SpringBootServletInitializer {

      @Override

      protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {

      return application.sources(Application.class);

      }

      }

      这个类的作用与在web.xml中配置负责初始化Spring应用上下文的监听器作用类似,只不过在这里不需要编写额外的XML文件了。

      www.1click-soft.comtruehttp://www.1click-soft.com/Jspjc/1303178.htmlTechArticleWeb应用之JSP+打war包在tomcat中运行实例讲解,tomcat实例讲解 首先引入依赖: 在build.gradle中 //支持thymeleaf模板 //compile(org.springframework.boot:spr...

      相关文章

      相关搜索: Web JSP tomcat 运行 代码

      帮客评论

      视觉看点
      百度 360 搜狗