idea如何新建一个springmvc 工程

 

如果引用,请保留版权链接谢谢!

//www.cnblogs.com/tochw/p/13811051.html

java 版本 1.8.0_261

idea 版本2020.1

Tomcat 9
 maven 3.6
新建工程

File->new->project

 

 

默认会下载springframework5.2.3版本的框架文件下来。

工程的名称叫springtest

点击finish创建

编辑web.xml文件的内容

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="//xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="//www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="
         //xmlns.jcp.org/xml/ns/javaee
         //xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
    <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>
    <!--
url-pattern有5种配置模式:

(1)/xxx:完全匹配/xxx的路径

(2)/xxx/*:匹配以/xxx开头的路径,请求中必须包含xxx。

(3)/*:匹配/下的所有路径,请求可以进入到action或controller,但是转发jsp时再次被拦截,不能访问jsp界面。

(4).xx:匹配以xx结尾的路径,所有请求必须以.xx结尾,但不会影响访问静态文件。

(5)/:默认模式,未被匹配的路径都将映射到刺servlet,对jpg,js,css等静态文件也将被拦截,不能访问。
    -->
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
</web-app>

  编辑dispatcher-serverlet.xml的内容

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="//www.springframework.org/schema/beans"
       xmlns:xsi="//www.w3.org/2001/XMLSchema-instance"
       xmlns:context="//www.springframework.org/schema/context"
       xmlns:mvc="//www.springframework.org/schema/mvc"
       xsi:schemaLocation="//www.springframework.org/schema/beans
//www.springframework.org/schema/beans/spring-beans-4.2.xsd
//www.springframework.org/schema/mvc
//www.springframework.org/schema/mvc/spring-mvc-4.2.xsd
//www.springframework.org/schema/context
//www.springframework.org/schema/context/spring-context-4.2.xsd"
>
    <!-- 配置controller的扫描包 -->
    <context:component-scan base-package="test.controller"/>
    <!-- 配置处理器映射器 -->
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>

    <!-- 配置处理器适配器 -->
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>

<!--    <mvc:default-servlet-handler/>-->
    <!-- 配置注解驱动,相当于同时使用最新处理器映射器和处理器适配器,对json数据的响应提供支持-->
    <mvc:annotation-driven/>

    <!-- 配置视图解析器 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/"></property>
        <property name="suffix" value=".jsp"></property>
    </bean>
</beans>

  

在WEB_INF文件夹下新建jsp文件夹

在src下新建test、test.controller包

在test.controller包下新建

HelloWorldController.java
package test.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class HelloWorldController {
    //可以匹配/abc/hello.do但是不能匹配/hello.do
    @RequestMapping(value = "/*/hello.do",method = RequestMethod.GET)
    public ModelAndView hello(){
        return new ModelAndView("hello");
    }
}

  

在WEB_INF/jsp/目录下新建hello.jsp

<%--
  Created by IntelliJ IDEA.
  User: 1688
  Date: 2020-10-13
  Time: 16:12
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<link href="/springtest/static/css/demo.css" rel="stylesheet">
<head>
    <title>Title</title>
</head>
<body>
<p class="text">hello</p>
</body>
</html>

  在根目录下新建

static/css/demo.css

.text{
color:#ff0000;
}

  项目的完整结构如下:

 

运行项目,编辑服务器:

 

 

 

 

 

 

 如果一开始没有配置就点击左上角的+号,新建一个。配置跟上面一样。

按快捷键Ctrl+alt+Shift+S

选择Artifacts,右键右侧选项,点击Put into Output Root .点击OK

 

 

然后运行项目,打开浏览器访问:

//localhost:8080/springtest/abc/hello.do

就可以看见预览的效果了。

 

Tags: