SpringMVC框架搭建

心已赠人 2022-03-31 11:58 379阅读 0赞

创建SpringMVC项目

  1. 打开eclipse,点击 File->New->Maven Project,弹出maven项目创建对话框
  2. 在对话框点击next
    UY8ySil.png
  3. 选择maven-archetype-webapp,点击next

    47zumip.png

  4. 输入Group ID, Artifact ID,点击next

    VLYMirT.png

  5. 右击项目->Maven->Update Project-OK,对项目生成项目结构
  6. 双击项目下的pom.xml,将pom.xml内容改为如下:

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    4. <modelVersion>4.0.0</modelVersion>
    5. <groupId>com.elastic</groupId>
    6. <artifactId>search</artifactId>
    7. <version>0.0.1-SNAPSHOT</version>
    8. <packaging>war</packaging>
    9. <name>elastic Maven Webapp</name>
    10. <!-- FIXME change it to the project's website -->
    11. <url>http://www.example.com</url>
    12. <properties>
    13. <!-- spring版本号 -->
    14. <spring.version>5.1.0.RELEASE</spring.version>
    15. <!-- log4j日志文件管理包版本 -->
    16. <slf4j.version>1.7.7</slf4j.version>
    17. <log4j.version>1.2.17</log4j.version>
    18. </properties>
    19. <dependencies>
    20. <dependency>
    21. <groupId>junit</groupId>
    22. <artifactId>junit</artifactId>
    23. <version>4.11</version>
    24. <scope>test</scope>
    25. </dependency>
    26. <!-- java ee包 -->
    27. <dependency>
    28. <groupId>javax</groupId>
    29. <artifactId>javaee-api</artifactId>
    30. <version>7.0</version>
    31. </dependency>
    32. <!-- spring框架包 start -->
    33. <dependency>
    34. <groupId>org.springframework</groupId>
    35. <artifactId>spring-test</artifactId>
    36. <version>${spring.version}</version>
    37. </dependency>
    38. <dependency>
    39. <groupId>org.springframework</groupId>
    40. <artifactId>spring-core</artifactId>
    41. <version>${spring.version}</version>
    42. </dependency>
    43. <dependency>
    44. <groupId>org.springframework</groupId>
    45. <artifactId>spring-oxm</artifactId>
    46. <version>${spring.version}</version>
    47. </dependency>
    48. <dependency>
    49. <groupId>org.springframework</groupId>
    50. <artifactId>spring-tx</artifactId>
    51. <version>${spring.version}</version>
    52. </dependency>
    53. <dependency>
    54. <groupId>org.springframework</groupId>
    55. <artifactId>spring-jdbc</artifactId>
    56. <version>${spring.version}</version>
    57. </dependency>
    58. <dependency>
    59. <groupId>org.springframework</groupId>
    60. <artifactId>spring-aop</artifactId>
    61. <version>${spring.version}</version>
    62. </dependency>
    63. <dependency>
    64. <groupId>org.springframework</groupId>
    65. <artifactId>spring-context</artifactId>
    66. <version>${spring.version}</version>
    67. </dependency>
    68. <dependency>
    69. <groupId>org.springframework</groupId>
    70. <artifactId>spring-context-support</artifactId>
    71. <version>${spring.version}</version>
    72. </dependency>
    73. <dependency>
    74. <groupId>org.springframework</groupId>
    75. <artifactId>spring-expression</artifactId>
    76. <version>${spring.version}</version>
    77. </dependency>
    78. <dependency>
    79. <groupId>org.springframework</groupId>
    80. <artifactId>spring-orm</artifactId>
    81. <version>${spring.version}</version>
    82. </dependency>
    83. <dependency>
    84. <groupId>org.springframework</groupId>
    85. <artifactId>spring-web</artifactId>
    86. <version>${spring.version}</version>
    87. </dependency>
    88. <dependency>
    89. <groupId>org.springframework</groupId>
    90. <artifactId>spring-webmvc</artifactId>
    91. <version>${spring.version}</version>
    92. </dependency>
    93. <!-- spring框架包 end -->
    94. <!-- log start -->
    95. <dependency>
    96. <groupId>log4j</groupId>
    97. <artifactId>log4j</artifactId>
    98. <version>${log4j.version}</version>
    99. </dependency>
    100. <dependency>
    101. <groupId>org.slf4j</groupId>
    102. <artifactId>slf4j-api</artifactId>
    103. <version>${slf4j.version}</version>
    104. </dependency>
    105. <dependency>
    106. <groupId>org.slf4j</groupId>
    107. <artifactId>slf4j-log4j12</artifactId>
    108. <version>${slf4j.version}</version>
    109. </dependency>
    110. <!-- log END -->
    111. <!-- 上传组件包 start -->
    112. <dependency>
    113. <groupId>commons-fileupload</groupId>
    114. <artifactId>commons-fileupload</artifactId>
    115. <version>1.3.1</version>
    116. </dependency>
    117. <dependency>
    118. <groupId>commons-io</groupId>
    119. <artifactId>commons-io</artifactId>
    120. <version>2.4</version>
    121. </dependency>
    122. <dependency>
    123. <groupId>commons-codec</groupId>
    124. <artifactId>commons-codec</artifactId>
    125. <version>1.10</version>
    126. </dependency>
    127. <!-- 上传组件包 end -->
    128. <!-- Json -->
    129. <!-- 格式化对象,方便输出日志 -->
    130. <dependency>
    131. <groupId>com.alibaba</groupId>
    132. <artifactId>fastjson</artifactId>
    133. <version>1.2.6</version>
    134. </dependency>
    135. <dependency>
    136. <groupId>org.codehaus.jackson</groupId>
    137. <artifactId>jackson-mapper-asl</artifactId>
    138. <version>1.9.13</version>
    139. </dependency>
    140. <dependency>
    141. <groupId>com.fasterxml.jackson.core</groupId>
    142. <artifactId>jackson-databind</artifactId>
    143. <version>2.9.6</version>
    144. </dependency>
    145. </dependencies>
    146. <build>
    147. <finalName>search</finalName>
    148. <!-- 处理maven update project时,override报错的问题 -->
    149. <plugins>
    150. <plugin>
    151. <groupId>org.apache.maven.plugins</groupId>
    152. <artifactId>maven-compiler-plugin</artifactId>
    153. <configuration>
    154. <source>1.8</source>
    155. <target>1.8</target>
    156. </configuration>
    157. </plugin>
    158. </plugins>
    159. </build>
    160. </project>
  7. 配置web.xml,将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. <display-name>Archetype Created Web Application</display-name>
    7. <welcome-file-list>
    8. <welcome-file>/index.html</welcome-file>
    9. </welcome-file-list>
    10. <!-- 加载spring bean -->
    11. <context-param>
    12. <param-name>contextConfigLocation</param-name>
    13. <param-value>classpath:applicationContext.xml</param-value>
    14. </context-param>
    15. <listener>
    16. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    17. </listener>
    18. <!-- 编码过滤器 -->
    19. <filter>
    20. <filter-name>encodingFilter</filter-name>
    21. <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    22. <async-supported>true</async-supported>
    23. <init-param>
    24. <param-name>encoding</param-name>
    25. <param-value>UTF-8</param-value>
    26. </init-param>
    27. <init-param>
    28. <param-name>forceEncoding</param-name>
    29. <param-value>true</param-value>
    30. </init-param>
    31. </filter>
    32. <filter-mapping>
    33. <filter-name>encodingFilter</filter-name>
    34. <url-pattern>/*</url-pattern>
    35. </filter-mapping>
    36. <!-- Spring MVC servlet -->
    37. <servlet>
    38. <servlet-name>SpringMVC</servlet-name>
    39. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    40. <init-param>
    41. <param-name>contextConfigLocation</param-name>
    42. <param-value>classpath:spring-mvc.xml</param-value>
    43. </init-param>
    44. <load-on-startup>1</load-on-startup>
    45. <async-supported>true</async-supported>
    46. </servlet>
    47. <servlet-mapping>
    48. <servlet-name>SpringMVC</servlet-name>
    49. <url-pattern>*.do</url-pattern>
    50. </servlet-mapping>
    51. </web-app>
  8. 处理项目报错,右击项目->Properties->Java Build Path,在Source下添加项目的Resource文件夹,点击Add Folder,如下图所示

    3bvpwY5.png

    在search文件夹下,点击Create New Folder

    LrhJxDF.png

    在对话框输入/src/main/resources,点击Finish

    FPpOtcI.png

    点击OK完成文件夹创建

  9. 修改JRE,选择Libraries,选择JRE System Library,点击Edit

    dOk5Oyk.png

  10. 将JRE修改为系统默认JRE:

    6GxXOTT.png

  11. 修改Dynamic Web Module版本,在项目是.settings文件夹下,双击org.eclipse.wst.common.project.facet.core.xml,将jst.web的version改为3.0

    w2VsXvl.png

  12. 在resource下创建applicationContext.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:p="http://www.springframework.org/schema/p"
    4. xmlns:context="http://www.springframework.org/schema/context"
    5. xmlns:mvc="http://www.springframework.org/schema/mvc"
    6. xsi:schemaLocation="http://www.springframework.org/schema/beans
    7. http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
    8. http://www.springframework.org/schema/context
    9. http://www.springframework.org/schema/context/spring-context-4.0.xsd
    10. http://www.springframework.org/schema/mvc
    11. http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
    12. <!-- 使用注解式注入 -->
    13. <context:annotation-config />
    14. <!-- 自动扫描 -->
    15. <context:component-scan base-package="com.elastic" />
    16. </beans>
  13. 在resource下创建spring-mvc.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:p="http://www.springframework.org/schema/p"
    4. xmlns:context="http://www.springframework.org/schema/context"
    5. xmlns:mvc="http://www.springframework.org/schema/mvc"
    6. xsi:schemaLocation="http://www.springframework.org/schema/beans
    7. http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
    8. http://www.springframework.org/schema/context
    9. http://www.springframework.org/schema/context/spring-context-4.0.xsd
    10. http://www.springframework.org/schema/mvc
    11. http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
    12. <!--避免IE执行AJAX时,返回JSON出现下载文件 -->
    13. <bean id="mappingJacksonHttpMessageConverter"
    14. class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
    15. <property name="supportedMediaTypes">
    16. <list>
    17. <value>text/html;charset=UTF-8</value>
    18. </list>
    19. </property>
    20. </bean>
    21. <!-- 添加注解驱动 -->
    22. <mvc:annotation-driven />
    23. <mvc:default-servlet-handler />
    24. <!-- 设置使用注解的类所在的包 -->
    25. <context:component-scan base-package="com.elastic.controller" />
    26. <!-- 完成请求和注解POJO的映射 -->
    27. <bean
    28. class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
    29. <property name="messageConverters">
    30. <list>
    31. <ref bean="mappingJacksonHttpMessageConverter" /> <!-- JSON转换器 -->
    32. </list>
    33. </property>
    34. </bean>
    35. <!-- 定义跳转的文件的前后缀 ,视图模式配置 -->
    36. <bean
    37. class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    38. <!-- 这里的配置我的理解是自动给后面action的方法return的字符串加上前缀和后缀,变成一个 可用的url地址 -->
    39. <property name="prefix" value="/WEB-INF/jsp/" />
    40. <property name="suffix" value=".jsp" />
    41. </bean>
    42. <!-- SpringMVC上传文件时,需要配置MultipartResolver处理器 -->
    43. <bean id="multipartResolver"
    44. class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    45. <!-- 默认编码 -->
    46. <property name="defaultEncoding" value="utf-8" />
    47. <!-- 文件大小最大值 -->
    48. <property name="maxUploadSize" value="10485760000" />
    49. <!-- 内存中的最大值 -->
    50. <property name="maxInMemorySize" value="40960" />
    51. </bean>
    52. </beans>
  14. 在src/main/java创建包,然后对项目右击->Maven->Update Project

    fCp8Ctn.png

  15. 对SpringMVC进行测试,在controller层创建类,具体代码如下:

    1. package com.elastic.controller;
    2. import org.springframework.stereotype.Controller;
    3. import org.springframework.web.bind.annotation.RequestMapping;
    4. @Controller
    5. @RequestMapping("/es")
    6. public class EsController {
    7. @RequestMapping("/elastic")
    8. public void elastic(){
    9. System.out.println("elastic");
    10. }
    11. }
  16. 配置Tomcat,选择Window->Preferences->Server->Runtime Environments->Add,选择Tomcat路径和JRE

    XSFRLc6.png

  17. 将项目添加到Tomcat,点击如下图处

    HUI016P.png

    选择tomcat

    8o3e8AE.png

    将项目添加到Tomcat

    T3yspEt.png

  18. 启动Tomcat,通过浏览器访问http://localhost:8080/search/es/elastic.do,控制台打印 elastic 则表示SpringMVC搭建成功

发表评论

表情:
评论列表 (有 0 条评论,379人围观)

还没有评论,来说两句吧...

相关阅读

    相关 SpringMVC框架

    框架项目请跳转到: [springMVC][] 本文在他人框架配置文件的基础上,学习Spring框架的知识,同时也结合多篇博文对框架进行改进与增加工鞥,比如缓存、多数据源以及