创建 spring MVC项目的基本步骤

第一步,创建 Gradle 项目,在 build.gradle 增加相关依赖

apply plugin: ‘java‘
apply plugin: ‘war‘

// 指定 Java 版本
sourceCompatibility = 1.8

// 配置下载 jar 包的地址
repositories {
  mavenCentral()
  jcenter()
}

// 配置需要的 jar 包依赖
dependencies {

  // 定义两个局部变量
  // 这里代表我们需要的 hibernate 和 spring 的版本
  def hibernateVersion = "5.1.0.Final"
  def springVersion = "4.3.5.RELEASE"

  // 在 test 中需要用到的 jar 包
  testCompile (
    "junit:junit:4.12"
  )

  // 指明 Tomcat 上已经自带的 jar 包,这样发布的时候才不会重复
  providedCompile (
    "javax:javaee-web-api:7.0",
  )

  // 配置我们项目需要用到的所有 jar 包,即 compile 环节需要的 jar 包
  compile (

    // 本地的 OJDBC 包加入进来,要改成自己的路径
    files("E:/SSH/lib_hibernate/ojdbc7.jar"),

    // 用来管理数据源的知名 jar 包
    "c3p0:c3p0:0.9.1.2",

    // jsp 中 jstl 标签的支持 jar 包
    "javax.servlet:jstl:1.2",

    // log4j 日志支持的 jar 包
    "log4j:log4j:1.2.17",

    // 配置 hibernate
    "org.hibernate:hibernate-core:$hibernateVersion",
    "org.hibernate:hibernate-validator:5.4.0.Final",

    // 配置 spring
    "org.springframework:spring-web:$springVersion",
    "org.springframework:spring-orm:$springVersion",
    "org.springframework:spring-aop:$springVersion",
    "org.springframework:spring-webmvc:$springVersion",
    "com.fasterxml.jackson.core:jackson-databind:2.5.1",
  )
}

// 为编译器配置编码,防止某些情况下编译出现乱码的情况
// 相应的,我们所有的代码应该保存成 UTF-8 格式
tasks.withType(JavaCompile) {
  options.encoding = "UTF-8"
}

// 自定义任务,将工程所需要的 jar 包拷贝到项目下的 lib 文件夹下
// 需要手动执行这个 task 才会有效果。这是为了方便导出 jar 包
task copyJars(type: Copy) {
  // 指明我们导出的是 compile 和 test 所依赖的 jar 包
  from configurations.compile, configurations.testCompile
  // 指明导出到 "lib" 文件夹下
  into "lib"
}

第二步,配置 web.xml,加入 spring 和 mvc 支持

<!-- 如果使用 RESTful 风格的编程,需要加上这个过滤器 -->
<!-- 它能使得 FORM 提交支持 PUT/DELETE 等方法 -->
<filter>
  <filter-name>forRESTful</filter-name>
  <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
  <filter-name>forRESTful</filter-name>
  <servlet-name>springmvc</servlet-name>
</filter-mapping>

<!-- 配置 SpringMVC 的 DispatcherServlet  context (child) -->
<!-- 它会为 SpringMVC 创建一个独立的容器 -->
<!-- 如果使用 SpringMVC,这里必须要配置 -->
<!-- 它的父容器是下面配置的 root Context -->
<!-- 可以在 init-param 中指定配置文件路径,如果不配置,默认是 "WEB-INF/miniblog-servlet.xml" -->
<servlet>
  <servlet-name>springmvc</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <init-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:spring-miniblog.xml</param-value>
  </init-param>
  <load-on-start>1</load-on-start>
</servlet>
<servlet-mapping>
  <servlet-name>springmvc</servlet-name>
  <url-pattern>/</url-pattern>
</servlet-mapping>

<!-- 配置 spring 的 root application context (parent) -->
<!-- 创建一个根容器 -->
<!-- 如果只是使用 SpringMVC 但不使用 Spring 其他功能,这里可以不配置 -->
<!-- 在这个容器里,配置一些全局的东西 -->
<!-- 比如 dao/service 的依赖,数据源,sessionFactory,声明式事务之类 -->
<!-- 可以通过 context-param 指定配置文件路径,如果不指定,默认是 "WEB-INF/applicationContext.xml" -->
<listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>classpath:spring-root.xml</param-value>
</context-param>

第三步,配置 SpringMVC 的 context 文件(spring-miniblog.xml):

<!-- 注意,要引入正确的命名空间!!! -->

<!-- mvc 版本的 context:annotation-driven -->
<!-- 针对 mvc 增加了一些其他支持,需要开启 -->
<mvc:annotation-driven />

<!-- 配置扫描发现所有具有 @Controller 注解的类,加载到容器 -->
<!-- 注意,在 SpringMVC 的配置文件中,不要扫描 @Controller 之外的类 -->
<context:component-scan base-package="app.controller" />

<!-- 配置静态资源的访问映射 -->
<!-- 比如访问 http://localhost/js/jquery.js,mvc 将会去寻找 /assets/javascript/jquery.js -->
<mvc:resources mapping="/js/**"  location="/assets/javascript/" />
<mvc:resources mapping="/css/**" location="/assets/stylesheet/" />

<!-- 配置视图解析器,将 Controller 返回的字符串组织成全路径 -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  <property name="prefix" value="/WEB-INF/view/" />
  <property name="suffix" value=".jsp" />
</bean>

<!-- 配置资源文件,如下配置,资源文件则为 resource 文件夹下的 message*.properties 或 message*.xml -->
<!-- 注意,要把资源文件保存成 UTF-8 格式,否则,需要在这里通过 defaultEncoding 指定编码 -->
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
  <property name="basename" value="message" />
  <property name="defaultEncoding" value="GBK" />
</bean>

<!-- 根据需要,还可以在这个配置文件里配置拦截器、转换服务等 -->

第四步,如果需要建立根容器,配置根容器的 context 文件(spring-root.xml):

<!-- 启用注解,让 spring 在加载的时候自动扫描指定包 -->
<!-- 这样会将含有 @Service/@Repository/@Component 等注解的类在容器中实例化 -->
<context:component-scan base-package="fish.miniblog.service, fish.miniblog.dao" />

<!-- 使用外部的 properties 文件 -->
<!-- 我们一般会将经常要改动的一些参数提取出来放到外部 -->
<context:property-placeholder location="classpath:db.properties" />

<!-- 配置 Hibernate 的 Sessionfactory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
  <property name="dataSource">
    <bean class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
      <property name="user" value="${user}" />
      <property name="password" value="${password}" />
      <property name="jdbcUrl" value="${url}" />
      <property name="driverClass" value="${driver}" />
    </bean>
  </property>
  <property name="hibernateProperties">
    <props>
      <prop key="hibernate.show_sql">true</prop>
      <prop key="hibernate.format_sql">true</prop>
      <prop key="hibernate.hbm2ddl.auto">update</prop>
      <prop key="hibernate.dialect">${dialect}</prop>
    </props>
  </property>
  <property name="packagesToScan" value="fish.miniblog.model" />
</bean>

<!-- 配置事务管理器 -->
<bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
  <property name="sessionFactory" ref="sessionFactory"/>
</bean>

<!-- 开启事务相关的注解 -->
<!-- 然后,就可以在 Service 相关的类或方法上通过 @Transactional 开启事务支持了 -->
<tx:annotation-driven proxy-target-class="true"/>

第五步,建立 Controller,进行测试

@Controller
@RequestMapping("/users")
class UserController {

    @RequestMapping("/{name}")
    public String show(@PathVariable String name, Model model) {
        model.add("name", name);
        return "show";    // 返回的是 "/WEB-INF/view/show.jsp" 页面
    }
}
时间: 2024-12-14 21:17:55

创建 spring MVC项目的基本步骤的相关文章

IntelliJ IDEA 创建spring mvc项目(图)

本文主要介绍怎么在IntelliJ IDEA 创建spring mvc项目,导入jar文件,tomcat配置(编辑器). 一.创建spring mvc项目 1.打开IntelliJ IDEA点击 创建新项目(Create New Project),SDK选择,然后选择sping>spring mvc,下一步 2.填写项目名称与选择项目路径 二.导入jar文件 1.选中lib文件夹,右键打开资源管理器 2.把准备好的jar文件复制粘贴到lib文件夹里面 3.点击文件(file)在列表中选择proj

Eclipse使用Maven创建Spring MVC项目(包含实例)以及部署到tomcat服务器

1.安装Maven并配置环境变量 2.eclipse中配置Maven 3.eclipse创建Maven项目 选择项目路径,next 选择maven项目类别[maven-archetype-webapp],next 输入Group Id(顶级包名),Artifact Id(项目名),Package根据两者自动生成,finish 生成的项目如上图所示. 报错原因是缺失Server Runtime Library,添加即可,同时jre替换为System Library. 替换后项目目录如下: src文

IDEA 通过Maven创建Spring MVC项目搭建

概述 本篇随笔主要记录内容如下: 1.通过Maven创建基于Spring Framework类库的MVC项目,免去了繁琐的XML配置: 2.在Idea里面配置Tomcat的测试启动项: Maven创建MVC项目 2.1.新建Maven项目:New Project-->Maven 2.2.修改配置 配置pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http

第一个使用Spring Tool Suite(STS)和Maven建立的Spring mvc 项目

一.目标 在这篇文章中.我将要向您展示怎样使用Spring Frameworks 和 Maven build创建您的第一个J2ee 应用程序. 二.信息 Maven是一个java项目的构建工具(或者自己主动构建工具).它与Ant或Gradle非常想.Maven能够自己主动下载您项目中依赖的组件. 三.要求 1.应用于Java EE 的Spring Tool Suite(STS) (http://spring.io/tools/sts/all). 请选择与您的操作系统相应的安装文件. 我比較喜欢下

IntelliJ idea创建Spring MVC的Maven项目

参考:http://my.oschina.net/gaussik/blog/385697?fromerr=Pie9IlFV 菜单File->New Project可进入上图界面,首先选择左边栏Maven,再配置JDK(一般如果之前添加了JDK的话会自动填充,如未添加的话点击旁边的New将 JDK目录导入即可).勾选“Create from archetype“,然后选中4处蓝色位置webapp,点Next,进入如下界面: 这里需要填写GroupId和ArtifactId还有Version,这三个

eclipse下创建maven spring MVC 项目

一.创建maven项目 1.创建准备工作  -eclipse (本人使用的是Neon.3 Release (4.6.3)版本,此版本用使用jdk 1.8)  -jdk1.8.0_101  -maven-3.5.0  上面这些不要求一样,其他版本大致也是一样的. 首先安装maven,在eclipse上配置好User Setting,如下: 2.选择File→new→other→Maven→Maven Project,这里我们选择创建maven项目 第一步选择完maven project后,我们选择

maven Spring MVC项目

IntelliJ IDEA上创建maven Spring MVC项目 各软件版本 利用maven骨架建立一个webapp 建立相应的目录 配置Maven和SpringMVC 配置Maven的pom.xml 配置web.xml 配置contextConfigLocation文件 配置log4j.properties controller和view的编写 servlet容器的配置和运行 配置本地的tomcat服务器 配置maven插件 运行第一个Spring MVC应用 目前java开发主流的IDE

Java Spring MVC项目搭建(一)——Spring MVC框架集成

1.Java JDK及Tomcat安装 我这里安装的是JDK 1.8 及 Tomcat 8,安装步骤详见:http://www.cnblogs.com/eczhou/p/6285248.html 2.下载Eclipse并安装 我这里安装的是Java EE neon 64位版本. 3.建立Spring MVC项目 3.1.打开安装好的eclipse ,选择File->new->other.在弹出的框内选择Web->Dynamic Web Project , 选择Next. 3.2.给项目起

使用maven, myeclipse工具构建spring mvc项目

一.使用myeclipse 创建一个新的 maven项目. (ps:1.在filter过滤的时候输入 webapp 选择"maven-archetype-webapp". 2.在main下建一个java文件夹(建source folder可能不能成功)) 具体可参考:http://www.cnblogs.com/waniu/p/3798775.html 二.将project 转变成webproject.(右键--properties--myeclipse--project facets