`
xidajiancun
  • 浏览: 454834 次
文章分类
社区版块
存档分类
最新评论

Maven+Spring+MVC结构中,jetty/tomcat是如何启动项目的

 
阅读更多

针对maven配置的Spring+MVC项目,我们用Maven自带的jetty和tomcat插件进行调试,这很方便。但是调试时,这些插件所启动的web服务器,是如何来将我们的工程作为一个web项目启动并运行,可能并没有看上去那么简单。搞清楚它们启动时,是如何引用我们的项目,就是这的目的。

Maven+Spring+MVC结构中,jetty/tomcat是如何启动项目的 - Mr.7 - Mr.7

如果项目的名称是mvn_mvc,那么整个目录结构就如上图。

通常我们首先用mvn package生成上述的target目录中带红色部分。其等效执行 mvn compile test-compile test war:exploded war:war。也就是包含编译、测试和打包三步骤。接下来我们就可以使用mvn jetty:run或者mvn tomcat:run进行网站启动,测试运行了。此时会对应生成临时的jsp目录,jetty对应的目录名是work,tomcat对应的目录名是tomcat。

那么,项目对应的目录就是target/mvn_mvc目录吗?

非也非也!!!

真正的项目目录应该是:

  1. 本项目的java类来自于target/classes
  2. 本项目依赖的jar包来自于maven的pom配置(并没有实际的物理目录,为maven插件动态组织管理)
  3. 本项目依赖的配置文件和静态资源来自于src/main/webapp

综上所述,可以得到两个结论就是:

  • 运行时,其实和target/mvn_mvc这个目录(打包项目目录)没有任何关系。所以如果运行过程中如果修改了这个目录的动态class和静态文件,就看不到效果。必须改src/main/java和src/main/webapp的才行。
  • 另外,maven设计的项目思想是:src目录下是纯本项目的代码,没有任何临时文件和依赖jar包。这样也便于代码的管理:自己写的是自己的,别人的机器的都放到别处

如果程序调试出现异常,就按照此方法检查。

分享到:
评论

相关推荐

    Maven+Hibernate+Spring+Spring MVC开发新闻发布系统

    5、Spring MVC 三、课程目标 1、深入理解Maven工作原理 2、熟练掌握Maven基础应用 3、熟练掌握Maven企业级开发 四、课程大纲 第1课 Maven 概述及安装 第2课 使用Maven构建Java项目 第3课 理解Maven核心概念(一) ...

    基于Spring MVC 和 WxJava 实现的微信公众号Java后端Demo

    使用maven运行demo程序: mvn jetty:run 或者自己打war包发布到tomcat运行; 配置微信公众号中的接口地址(微信公众平台 服务器配置 -> 服务器地址(URL)):http://xxx/wechat/portal (注意XXX需要是外网可访问的...

    基础的java web项目,完成了应用骨架的搭建,提供了底层框架的支持

    (4)集成的框架有:spring mvc + spring + hibernate + apache cxf + logback + junit,spring mvc、hibernate已经用注解配置方式替代 了传统的xml配置方式。 (5)logback在本项目中已经设置了一个aop切面,对所有的...

    spring-3-mvc-hello-world-example-annotation

    Maven-Spring 3 MVC Hello World 使用Maven构建工具的Spring 3 MVC + JSP视图+注释配置模板。 ### 1。 使用的技术必需的Servlet 3.0+容器,例如Tomcat 7或Jetty 8 Maven的3 春天3.2.13。发布JSTL 1.2 登入1.1.3 ...

    基于Spring MVC的web框架 1.1.11

    maven升级jdk1.8 jetty9.2.4 web升级jdk1.7 tomcat7 1.1.7(maven only) 包名修改 从此不再支持web版本,只支持maven版本 1.1.8 jquery 图片预览插件 图片滚动显示插件 1.1.9 jquery实现鼠标在按钮上显示窗口,离开...

    浅谈Web网站架构演变过程

    此时我们使用一个容器,如tomcat、jetty、jboos,然后直接使用JSP/servlet技术,或者使用一些开源的框架如maven+spring+struct+hibernate、maven+spring+springmvc+mybatis;最后再选择一个数据库管理系统来存储数据...

    SpringMVC基础上的web框架

    这个框架是在学习Spring的时候,为了积累学习成果,自己搭建的,一般的系统开发也可以直接使用,包括一个系统开发的基础功能。 以下是当时自己开发时的日志,大致可以说明...直接执行Jetty类的main方法就可以启动服务

    基于ssm+Vue的新冠疫苗接种管理系统(源码+部署说明+系统介绍+数据库).zip

    将生成的jar包部署到Web服务器(如Tomcat、Jetty等)上,并启动项目。f. 根据实际需求,修改前端Vue.js代码以实现所需的功能。系统介绍:该系统具有以下主要功能:a. 用户管理:管理员可以添加、编辑和删除用户,设置...

    单点登录源码

    SpringMVC | MVC框架 | [http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#mvc](http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#mvc) ...

    spring:Spring 项目的存储库

    该项目是为快速启动 Spring MVC 4.x Web 应用程序 (.war) 而创建的启动项目。 该项目可部署在任何 Web 服务器上(例如 Apache Tomcat)。 AutoStart 和 Spring Boot Starter Web 为了使应用程序使用嵌入式 Tomcat...

    基于SpringMVC的一个web框架

    从web项目迁移成maven项目 1.0.6 增加菜单框架ext实现,类路径调整 1.0.7 增加http工具类,demo例子 1.0.8 socket工具类,权限组件,菜单组件,jdbc分页支持多种数据库,ant路径工具类,增加jquery easyUI 1.0.9 版本...

    基于Spring MVC和WxJava实现的微信公众号Java后端Demo

    配置:复制/src/main/resources/wx.properties.template或者修改其扩展名生成wx.properties文件,填写相关配置;...使用Maven的运行演示程序:mvn jetty:run 或者自己打的战争包发布到tomcat的运行;

    SpringMVC-Template:SpringMVC项目模版,用于快速开始一个SpringMVC的项目

    这里的jetty是maven的一个jetty的插件,你也可以是用tomcat等其它服务器软件来启动项目 打开浏览器,输入或来测试 例子 Restful的例子 使用SLF4J SpringMVC和Spring的配置 EL表达式 Spring中Model和Map传值的使用 ...

    spring-boot-reference.pdf

    13.2.3. Using the Spring Boot Maven Plugin 13.3. Gradle 13.4. Ant 13.5. Starters 14. Structuring Your Code 14.1. Using the “default” Package 14.2. Locating the Main Application Class 15. ...

    SYPRO示例项目下载

    ●前台由EasyUI1.3.1编写,后台是JAVA编写,应用框架spring mvc+hibernate4+maven ●目前已经过测试通过的数据库有MySql5、Oracle10g、SqlServer2005 ●Web容器测试通过的有Jetty和Tomcat7 ●要求JDK1.6+

    spring-no-xml

    这是一个演示没有xml的spring web应用程序的项目。 在目标目录中创建了一个战争。 与 dropwizard 一样,Jax-rs 注释用于 mvc 框架。 在resources/app.properties有一个属性占位符只是为了演示这一点。 有一个码头...

    spring-framework-petclinic:一个基于JSP,Spring MVC,Spring Data JPA,Hibernate和JDBC的Spring框架应用程序

    它允许Spring社区使用简单的旧Spring Framework配置和3层架构(即表示->服务->存储库)来维护Petclinic版本。 现在,“规范”实现基于Spring Boot,Thymeleaf和面向聚集的域。 通过一些图表了解Spring Petclinic...

    springboot参考指南

    在Spring环境中使用YAML暴露属性 iii. 23.6.3. Multi-profile YAML文档 iv. 23.6.4. YAML缺点 vii. 23.7. 类型安全的配置属性 i. 23.7.1. 第三方配置 ii. 23.7.2. 松散的绑定(Relaxed binding) iii. 23.7.3. @...

Global site tag (gtag.js) - Google Analytics