idea如何新建一個springmvc 工程

tochenwei發表於2020-10-13

 

如果引用,請保留版權連結謝謝!

https://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="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="
         http://xmlns.jcp.org/xml/ns/javaee
         http://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="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd
http://www.springframework.org/schema/context
http://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

 

 

然後執行專案,開啟瀏覽器訪問:

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

就可以看見預覽的效果了。

 

相關文章