当前位置:   article > 正文

sts + gradle + tomcat 运行 spring mvc

sts spring项目 gradle 运行在tomcat

环境

各软件版本

sts : spring-tool-suite-3.7.3.RELEASE-e4.5.2-win32-x86_64

gradle : 2.7

tomcat : 7

以上环境自行安装

gradle 插件配置

sts 的 gradle 插件 安装,你需要打开eclipse市场,然后搜索gradle,会看到如下两个插件,都要安装

Alt sts gradle 插件

创建项目

创建

新建gradle项目,这里要注意,不要选择gradle sts,选上面的

Alt sts gradle 创建项目01

填写你的gradle和jdk路径

Alt sts gradle 创建项目02

修改项目配置

修改项目结构如下:

Alt sts gradle 项目目录结构

项目右键属性,做如下修改

Alt sts gradle 项目目录结构

如果没有 Project and External Dependentcies 这一项,则点击右侧的Add

Alt sts gradle 创建项目02

选择 Java Build Path Entries

Alt sts gradle 创建项目02

选择,finish

Alt sts gradle 创建项目02

增加Dynamic Web Module 3.0支持,这里要注意,sts会自动添加一个WebContent目录,删除即可

Alt sts gradle 创建项目02

到这里项目的配置基本上就算完成了,最后的Java Build Path Entries 和 Dynamic Web Module 3.0配置主要是为了项目可以运行在tomcat中

编码

编码参考自这里:http://blog.csdn.net/jpweb2013/article/details/39673329

我的代码如下:

build.gradle

  1. apply plugin: 'java'
  2. apply plugin: 'war'
  3. apply plugin: 'jetty'
  4. // JDK 7
  5. sourceCompatibility = 1.7
  6. targetCompatibility = 1.7
  7. repositories {
  8. mavenLocal()
  9. mavenCentral()
  10. jcenter()
  11. }
  12. String springVersion = '4.0.2.RELEASE'
  13. dependencies {
  14. compile 'org.slf4j:slf4j-api:1.7.12'
  15. // j2ee base
  16. providedCompile 'javax.servlet:javax.servlet-api:3.0.1'
  17. compile 'javax.servlet:jstl:1.2'
  18. // spring core
  19. compile ('org.springframework:spring-context:' + springVersion)
  20. compile ('org.springframework:spring-core:' + springVersion)
  21. compile ('org.springframework:spring-webmvc:' + springVersion)
  22. testCompile 'junit:junit:4.12'
  23. }
  24. jettyRun {
  25. httpPort = 8080
  26. contextPath = 'sshone'
  27. }

web.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xmlns="http://java.sun.com/xml/ns/javaee"
  4. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
  5. version="3.0">
  6. <context-param>
  7. <param-name>contextConfigLocation</param-name>
  8. <param-value>/WEB-INF/spring/root-context.xml</param-value>
  9. </context-param>
  10. <!-- Creates the Spring Container shared by all Servlets and Filters -->
  11. <listener>
  12. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  13. </listener>
  14. <!-- Processes application requests -->
  15. <servlet>
  16. <servlet-name>appServlet</servlet-name>
  17. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  18. <init-param>
  19. <param-name>contextConfigLocation</param-name>
  20. <param-value>/WEB-INF/spring/dispatcherServlet-servlet.xml</param-value>
  21. </init-param>
  22. <load-on-startup>1</load-on-startup>
  23. </servlet>
  24. <servlet-mapping>
  25. <servlet-name>appServlet</servlet-name>
  26. <url-pattern>/</url-pattern>
  27. </servlet-mapping>
  28. <display-name>bookstore</display-name>
  29. <welcome-file-list>
  30. <welcome-file>/index.jsp</welcome-file>
  31. </welcome-file-list>
  32. </web-app>

root-context.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://www.springframework.org/schema/beans
  5. http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">
  6. <!-- Root Context: defines shared resources visible to all other web components -->
  7. </beans>

dispatcherServlet-servlet.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
  4. xmlns:mvc="http://www.springframework.org/schema/mvc"
  5. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
  6. http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
  7. http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
  8. <mvc:annotation-driven />
  9. <!-- 自动扫描该包,使SpringMVC认为包下用了@controller注解的类是控制器 -->
  10. <context:component-scan base-package="com.laolang.ssh" />
  11. <!--对静态资源文件的访问 -->
  12. <mvc:resources mapping="static/**" location="static/" />
  13. <!-- 定义跳转的文件的前后缀 ,视图模式配置 -->
  14. <bean
  15. class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  16. <property name="prefix" value="/WEB-INF/views/"></property>
  17. <property name="suffix" value=".jsp"></property>
  18. </bean>
  19. </beans>

BookTypeController

  1. package com.laolang.ssh.controller;
  2. import org.springframework.stereotype.Controller;
  3. import org.springframework.ui.Model;
  4. import org.springframework.web.bind.annotation.RequestMapping;
  5. import org.springframework.web.bind.annotation.RequestMethod;
  6. @Controller
  7. @RequestMapping("/goodtypes")
  8. public class BookTypeController {
  9. @RequestMapping(value="goodtypes",method=RequestMethod.GET,produces="text/html")
  10. public String list( Model model ){
  11. System.out.println("goodtype list");
  12. model.addAttribute("msg", "Hello Gradle!");
  13. return "goodtype/list";
  14. }
  15. }

运行

建议你把sts的自动build关掉,手动build。

你需要创建一个tomcat server new -> other -> server -> apache -> tomcat

选择适合你的版本,写好名字,

Alt sts gradle server

然后再把你的项目添加到你创建服务中,手动build,然后debug启动,在BookTypeController的list方法第一行批一断点,在浏览器中输入如下地址:

http://localhost:8088/sshone/goodtypes/goodtypes

如果成功,那么你会看到如下的debug画面

Alt sts gradle debug

结语

之所以选择这种运行方式,是因为gradle的jettyRun只能开,不能关,如果想关闭,要么在任务管理器中关闭,要么用命令行运行,而且我不会gradle的debug模式。这种新建一个服务的方式不仅可以为每个项目定制tomcat配置,而且可以进debug模式,就是比起jettyRun有点慢,项目大一点,电脑性能再差点,你可能得等上一会儿。解决方法就是 换个电脑 -_-#!

如果遇到 依赖无法加载的问题,则项目右键->gradle->refresh 即可

转载于:https://my.oschina.net/iamhere/blog/725094

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/305896
推荐阅读
相关标签
  

闽ICP备14008679号