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: