SpringMvc配置
Android转Java的第一天,感觉自己什么都不会,仿佛又回到了第一次写Android代码的时候,连个项目都不会创建。因为我们公司使用的SpringMvc的项目架构方式,所以我的第一个任务就是搭建一个SpringMvc的项目。由于其中需要注意的地方太多了,担心自己过一段时间回来就会忘记,所以把具体的步骤纪录下来,供日后查阅。
1.IntelliJ IDE
一开始我下载的社区版的IntelliJ,发现项目中没有Spring的选项,看网上的教程都可以直接点击Spring创建项目,后来才知道
需要下载完整版的IDE ,破解的方式就不写了,可自行百度。
2.创建Maven工程
我们可以直接使用IDE创建SpringMvc的工程,但是由于目录结构与网络教程差异过大,新人表示看不懂,所以选择了创建Maven工程。大多数的Spring项目都是使用Maven构建的,通过它可以方便的实现依赖管理。很多有用的插件也在maven的仓库可以找到。
NEW Project 的时候找到 Maven 打开 Create from archetype 选择后缀为 webapp
的方式创建项目。 点击 Next ,填写goupId等信息就可以打开项目了。
3.添加依赖
打开pom.xml
文件,可以在properties
标签里面定义参数,下面的dependencies
就可以直接使用了,这样便于版本管理。例如
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<!--这是spring的版本号-->
<spring.version>4.3.18.RELEASE</spring.version>
<jackson.version>2.9.7</jackson.version>
</properties>
插入springmvc的依赖
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<!--json转换的库-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
</dependencies>
依赖添加完毕之后,鼠标右键选择Maven->Reimport
就可以将依赖导入项目了。
4.设置文件夹
在src/main
目录下面创建两个文件夹java
和resources
分别作为代码文件夹和资源文件夹。鼠标选中java
文件夹,右键执行Make Directory as ->Sources Root
;鼠标选中resources
文件夹,鼠标右键执行Make Directory as ->Resources Root
5.配置web.xml
打开webapp/WEB-INF/web.xml
文件配置springMvc。 首先需要添加servlet
,在web-app
标签内加入如下代码
<!--配置servlet处理请求-->
<servlet>
<servlet-name>Hello</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--自定义servlet配置文件地址-->
<init-param>
<param-name>contextConfigLocation</param-name>
<!--classpath:指向的是resources文件夹-->
<param-value>classpath:config/Hello-Servlet.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>Hello</servlet-name>
<!--/表示任何形式的请求都可以通过,可以设置为.do表示后缀为.do的接口才可以访问-->
<url-pattern>/</url-pattern>
</servlet-mapping>
打开classpath:config/Hello-Servlet.xml
文件,继续配置SpringMvc
<!--打开注解扫描-->
<mvc:annotation-driven/>
<!--注解扫描的位置-->
<context:component-scan base-package="com.demo"/>
<!--配置view资源的生成器,在prefix文件夹寻找后缀为suffix的文件-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!--寻找jsp文件的路径-->
<property name="prefix" value="/WEB-INF/pages/"/>
<property name="suffix" value=".jsp"/>
</bean>
6.编写hello.jsp
在webapp/WEB-INF/pages
下面创建文件hello.jsp
,之所以在这个目录是因为我们在/Hello- Servlet.xml
里面配置了InternalResourceViewResolver的路径为/WEB-INF/pages/
。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Page</title>
</head>
<body>
Jsp Page
</body>
</html>
7.编写Controller
在com.demo
(这个目录取决于你定义的项目goupId)目录下面创建一个HelloController
:
@Controller
public class HelloController {
@RequestMapping(value = "helloPage", method = RequestMethod.GET)
public String helloPage() {
//返回名字为hello.jsp的view
return "hello";
}
//ResponseBody注解说明返回的不是一个view,而是数据,RequestMapping注解指定接口访问的url地址
@ResponseBody
@RequestMapping(value = "hello", method = RequestMethod.GET)
public String hello() {
return "Nice to meet U";
}
}
8.运行
在IDE的右上角,点击Add Configuration
,然后点击做上角的加号,新建一个tomcat服务
提示 Warning: No
artifacts marked for deployment ,我们点击右边的Fix
按钮,选择一个war包,点击Ok
就可以了。
现在我们运行工程,编译完成之后会默认打开网页,可以看到“Hello World”的默认页面。
打开http://localhost:8085/hello_war/helloPage
,效果如下:
打开http://localhost:8085/hello_war/hello
,效果如下:
至此简单的SpringMvc就搭建完毕了。