idea如何新建一个springmvc 工程
如果引用,请保留版权链接谢谢!
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
就可以看见预览的效果了。