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目录下面创建两个文件夹javaresources分别作为代码文件夹和资源文件夹。鼠标选中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就搭建完毕了。

Search by:GoogleBingBaidu