IDEA Maven Spring MVC 项目搭建

手把手教你 IDEA Maven 搭建 SpringMVC HelloWorld

刚开始学习java框架,学习IDEA时,感觉举步维艰,慢慢的走到这一步,已经对IDEA 的使用初步掌握了,本篇也没有出现到新的知识点,主要是对 IDEA的熟悉。

1. 新建 Maven WebApp 项目

新建Maven web app

2. 引入Spring-MVC Jar 包

此处,我们可以直接选中项目 -> 右击 -> Add Framework -> spring 导入 jar, 但是因为 我们用的是maven项目,所以我们可以直接在 porm.xml 文件中配置, 自动下载并可以自动处理依赖。

百度 Spring-mvc maven 这真的是特别好用的方式, 当我们报 找不到 jar 包异常的时候(classNofountException),这种方式可以快速帮我们定位我们所需要的包。

这里写图片描述

找到依赖后,我们在porm.xml 中,增加我们刚才百度查到的 jar包配置。配置如下:

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>5.0.3.RELEASE</version>
    </dependency>

3. 增加spring mvc 配置

我们可以在 web-inf 目录下,新建配置文件,而后在 web.xml 中配置,此处我们直接让 IDEA帮我们新建。
右击项目 导入框架支持。

这里写图片描述

导入项目支持后,项目结构如下:

这里写图片描述

这时,web.xml 中已经自动增加了如下配置:

 <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
</context-param>

这样配置 原理 就是servlet 一样,监听路径,而后使用对应的类处理

自己手动配置的同学,注意 servlet-name 的节点内容 和 配置文件必须对应: 比如我此处配置servlet-name节点为 dispatcher,那对应的配置文件则为dispatcher-servlet.xml。

4. 新建Controller

新建 HelloController和 页面( /web-inf/pages ),

项目结构图

HelloController

package com.fang.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

/**
 * Created by yushuai_w on 2018/1/24.
 */
@Controller
public class HelloController {
    @RequestMapping("/hello")
    public ModelAndView hello() {
        ModelAndView modelAndView = new ModelAndView("hello");
        modelAndView.addObject("message","hello world");
        return modelAndView;
    }

}

JSP:

<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" isELIgnored="false" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <h2>${message}</h2>
</body>
</html>

由于我们在 controller 里直接使用了 hello.jsp,所以我们需要在 dispatcher-servlet.xml 配置一下 路径的前后缀。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
    <context:component-scan base-package="com.fang.controller"/>
    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/pages/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
</beans>

5. 运行程序

运行结果

猜你喜欢

转载自blog.csdn.net/shuai_wy/article/details/79139849