Maven搭建SpringMvc,只需跟着一步步操作

项目结构

1 创建Maven项目

index,jsp报错不用管,配置完pom就好了,也可以直接删除掉

2 pom.xml添加依赖

  1. <dependency>
  2. <groupId>org.springframework</groupId>
  3. <artifactId>spring-webmvc</artifactId>
  4. <version>${spring.version}</version>
  5. </dependency>
  6. <dependency>
  7. <groupId>org.springframework</groupId>
  8. <artifactId>spring-web</artifactId>
  9. <version>${spring.version}</version>
  10. </dependency>
  11. <dependency>
  12. <groupId>javax.servlet</groupId>
  13. <artifactId>javax.servlet-api</artifactId>
  14. <version>3.1.0</version>
  15. </dependency>

完整pom.xml

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  3. <modelVersion>4.0.0</modelVersion>
  4. <groupId>com.shangcg.springmvc</groupId>
  5. <artifactId>com.shangcg.springmvc</artifactId>
  6. <packaging>war</packaging>
  7. <version>0.0.1-SNAPSHOT</version>
  8. <name>com.shangcg.springmvc Maven Webapp</name>
  9. <url>http://maven.apache.org</url>
  10. <properties>
  11. <spring.version>4.0.5.RELEASE</spring.version>
  12. </properties>
  13. <dependencies>
  14. <dependency>
  15. <groupId>junit</groupId>
  16. <artifactId>junit</artifactId>
  17. <version>3.8.1</version>
  18. <scope>test</scope>
  19. </dependency>
  20. <dependency>
  21. <groupId>org.springframework</groupId>
  22. <artifactId>spring-webmvc</artifactId>
  23. <version>${spring.version}</version>
  24. </dependency>
  25. <dependency>
  26. <groupId>org.springframework</groupId>
  27. <artifactId>spring-web</artifactId>
  28. <version>${spring.version}</version>
  29. </dependency>
  30. <dependency>
  31. <groupId>javax.servlet</groupId>
  32. <artifactId>javax.servlet-api</artifactId>
  33. <version>3.1.0</version>
  34. </dependency>
  35. </dependencies>
  36. <build>
  37. <finalName>com.shangcg.springmvc</finalName>
  38. </build>
  39. </project>

3配置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. id="WebApp_ID" version="3.0">
  6. <display-name>springMvc-test</display-name>
  7.  
  8. <!-- 指定Spring Bean的配置文件所在目录。默认配置在WEB-INF目录下 -->
  9. <context-param>
  10. <param-name>contextConfigLocation</param-name>
  11. <param-value>classpath*:/applicationContext.xml</param-value>
  12. </context-param>
  13.  
  14. <!-- Spring配置 -->
  15. <listener>
  16. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  17. </listener>
  18.  
  19. <!-- Spring MVC配置 -->
  20. <servlet>
  21. <servlet-name>spring</servlet-name>
  22. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  23. <!-- 可以自定义servlet.xml配置文件的位置和名称,默认为WEB-INF目录下,名称为[<servlet-name>]-servlet.xml,如spring-servlet.xml -->
  24. <init-param>
  25. <param-name>contextConfigLocation</param-name>
  26. <param-value>/WEB-INF/spring-mvc.xml</param-value>
  27. </init-param>
  28. <load-on-startup>1</load-on-startup>
  29. </servlet>
  30.  
  31. <servlet-mapping>
  32. <servlet-name>spring</servlet-name>
  33. <url-pattern>/</url-pattern>
  34. </servlet-mapping>
  35.  
  36. <!-- 中文过滤器 -->
  37. <filter>
  38. <filter-name>CharacterEncodingFilter</filter-name>
  39. <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  40. <init-param>
  41. <param-name>encoding</param-name>
  42. <param-value>UTF-8</param-value>
  43. </init-param>
  44. <init-param>
  45. <param-name>forceEncoding</param-name>
  46. <param-value>true</param-value>
  47. </init-param>
  48. </filter>
  49. <filter-mapping>
  50. <filter-name>CharacterEncodingFilter</filter-name>
  51. <url-pattern>/*</url-pattern>
  52. </filter-mapping>
  53.  
  54. <welcome-file-list>
  55. <welcome-file>index.jsp</welcome-file>
  56. </welcome-file-list>
  57. </web-app>

4 新建spring-mvc.xml(具体位置请看项目结构图)

  1. <?xml version="1.0" encoding="UTF-8" standalone="no"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:context="http://www.springframework.org/schema/context"
  4. xmlns:aop="http://www.springframework.org/schema/aop" xmlns:mvc="http://www.springframework.org/schema/mvc"
  5. xmlns:p="http://www.springframework.org/schema/p" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  6. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
  7. http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
  8. http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
  9. http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd">
  10.  
  11. <!-- 自动扫描的包名 -->
  12. <context:component-scan base-package="com.shangcg.web" />
  13.  
  14. <!-- 默认的注解映射的支持 -->
  15. <mvc:annotation-driven>
  16. <mvc:message-converters>
  17. <bean class="org.springframework.http.converter.StringHttpMessageConverter" />
  18. <bean
  19. class="org.springframework.http.converter.ResourceHttpMessageConverter" />
  20. </mvc:message-converters>
  21. </mvc:annotation-driven>
  22.  
  23. <!-- 视图解释类,定义跳转的文件的前后缀 -->
  24.  
  25. <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  26. <property name="prefix" value="/WEB-INF/views/"/>
  27. <property name="suffix" value=".jsp"/>
  28. </bean>
  29.  
  30. <!-- 对静态资源文件的访问 -->
  31. <mvc:default-servlet-handler />
  32.  
  33. </beans>

5 新建applicationContext.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
  3. xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:util="http://www.springframework.org/schema/util"
  4. xmlns:aop="http://www.springframework.org/schema/aop"
  5. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
  6. http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
  7. http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
  8. http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd
  9. http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
  10. http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd">
  11.  
  12. <!-- 注解注册 -->
  13. <context:annotation-config />
  14.  
  15. <context:component-scan base-package="com.test" />
  16.  
  17. </beans>

6 新建TestController

  1. package com.shangcg.web;
  2.  
  3. import javax.servlet.http.HttpServletRequest;
  4.  
  5. import org.springframework.stereotype.Controller;
  6. import org.springframework.web.bind.annotation.RequestMapping;
  7. import org.springframework.web.bind.annotation.ResponseBody;
  8. import org.springframework.web.servlet.ModelAndView;
  9.  
  10. @Controller
  11. @RequestMapping("/testController")
  12. public class TestController {
  13.  
  14. @RequestMapping(value="/getView")
  15. @ResponseBody
  16. public ModelAndView getTest(HttpServletRequest request){
  17. ModelAndView modelAndView = new ModelAndView("test");
  18. return modelAndView;
  19. }
  20. }

7新建test.jsp

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  4. <html>
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  7. <title>I AM TITLE</title>
  8. </head>
  9. <body>
  10. Hello World!!!
  11. </body>
  12. </html>

8发布tomact服务,添加到tomact后start

9 访问http://localhost:8080/com.shangcg.springmvc/testController/getView

项目已上传https://github.com/shangcg/mavenSpringMvc

如果导入Eclipse之后启动不起来,需要手动添加一下依赖:

选中项目右键---properties--deployment assembly--add-java build path entries--maven denpencies双击 ,如下图

之后重启即可,报错不影响启动

Maven搭建SpringMvc的更多相关文章

  1. 手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版)

    手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版) SSM(Spring+SpringMVC+Mybatis),目前较为主流的企业级架构方案.标准的MVC设计模式, ...

  2. Maven搭建SpringMVC+Hibernate项目详解 【转】

    前言 今天复习一下SpringMVC+Hibernate的搭建,本来想着将Spring-Security权限控制框架也映入其中的,但是发现内容太多了,Spring-Security的就留在下一篇吧,这 ...

  3. idea使用maven搭建springmvc

    最近学着搭建springmvc,写此博客记录一下 idea版本:2016.3.1maven: apache-maven-3.3.9tomcat:apache-tomcat-8.5.8 1.New Pr ...

  4. Maven搭建SpringMVC+Hibernate项目详解

    前言 今天复习一下SpringMVC+Hibernate的搭建,本来想着将Spring-Security权限控制框架也映入其中的,但是发现内容太多了,Spring-Security的就留在下一篇吧,这 ...

  5. Maven搭建SpringMVC+Hibernate项目详解(转)

    前言 今天复习一下SpringMVC+Hibernate的搭建,本来想着将Spring-Security权限控制框架也映入其中的,但是发现内容太多了,Spring-Security的就留在下一篇吧,这 ...

  6. Maven 搭建SpringMvc+Spring+Mybatis详细记录

    总觉得,看比人写的总是那么好,每次搭建框架时都会找博客,找教程来跟着一步一步走,虽然很快搭建成功了,但是经常情况是我并不知道我干了什么,也不记得具体步骤,到底为什么要这么做,今天我详细记录了一下自己搭 ...

  7. 从头开始基于Maven搭建SpringMVC+Mybatis项目(1)

    技术发展日新月异,许多曾经拥有霸主地位的流行技术短短几年间已被新兴技术所取代. 在Java的世界中,框架之争可能比语言本身的改变更让人关注.近几年,SpringMVC凭借简单轻便.开发效率高.与spr ...

  8. maven搭建springmvc+mybatis项目

    上一篇中已经成功使用maven搭建了一个web项目,本篇描述在此基础上怎么搭建一个基于springmvc+mybatis环境的项目. 说了这么久,为什么那么多人都喜欢用maven搭建项目?我们都知道m ...

  9. Maven搭建SpringMVC + SpringJDBC项目详解

    前言 上一次复习搭建了SpringMVC+Mybatis,这次搭建一下SpringMVC,采用的是SpringJDBC,没有采用任何其他的ORM框架,SpringMVC提供了一整套的WEB框架,所以如 ...

随机推荐

  1. SpringCloud之Zuul高并发情况下接口限流(十二)

    高并发下接口限流技术gauva(谷歌的框架) MySql最大连接数3000: 原理:框架每秒向桶里放100个令牌,接口请求来了先去拿令牌,拿到令牌后才能继续向后走,否则不允许向后执行:当接口请求太频繁 ...

  2. WORKGROUP无法访问,您可能没有权限使用网络资源,请与这台服务器的管理员联系以....

    解决方法 1.启用Guest账号 在很多情况下,为了本机系统的安全,Guest账户是被禁用的,这样就无法访问该机器的共享资源,因此必须启用Guest账户. 笔者以Windows XP系统为例进行介绍. ...

  3. kali2019里安装Burp Suite安装破解版加汉化版

    Burpsuite是一个强大web漏洞挖掘工具,截断代理,解码和编码,Fuzzy进行各种注入和暴力破解 插件扩展,有多个模块 Burp Suite没有中文版的,我英语又不好,我虽然精通Burp Sui ...

  4. Java 并发编程(四):如何保证对象的线程安全性

    01.前言 先让我吐一句肺腑之言吧,不说出来会憋出内伤的.<Java 并发编程实战>这本书太特么枯燥了,尽管它被奉为并发编程当中的经典之作,但我还是忍不住.因为第四章"对象的组合 ...

  5. TypeError: expected string or bytes-like object

    在写Python代码的时候,遇到了"TypeError: a bytes-like object is required, not 'str'"错误,此处实验机器的Python环境 ...

  6. Golang的json包

    encoding/json encoding/json是官方提供的标准json, 实现RFC 7159中定义的JSON编码和解码.使用的时候需要预定义struct,原理是通过reflection和in ...

  7. Numpy 排序和使用索引

    # 导包 import numpy as np 排序 .sort() x = np.arange(16) # array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ...

  8. 赤壁情:dp

    首先这道题用到的3个新关键字大概讲一下: (我刚学会仅仅会瞎搞做题,欢迎大神补充) static:声明一个变量并清空.(不知道用不用时间,求解答) 具体用法:static 变量类型 变量名.如:sta ...

  9. 「考试」小P的生成树

    考场上想到一半正解,没想到随机化,不然也许能够$A$掉. 题目所说的其实就是向量加法,求模长最长的向量生成树. 我们考虑对于两个向量,必然在平行边形对角线方向上,他们的投影和是最大的,长度就是对角线长 ...

  10. NOIP模拟 5

    考试的时候相当浮躁,而且脑子并不工作 T1看了几眼,觉得没思路,先skip T2一打眼,满足条件的最大值,二分!(然后就死了,根本没想有没有单调性) T3找了半天规律,一开始自己手模的K3都过不了样例 ...