最最简单的spring mvc + Maven项目
首先配置pom文件,只需要引用三个jar包文件即可:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | < project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> < modelVersion >4.0.0</ modelVersion > < groupId >com.rybt.kpi</ groupId > < artifactId >api</ artifactId > < packaging >war</ packaging > < version >1.0-SNAPSHOT</ version > <!-- 常量 --> < properties > < project.build.sourceEncoding >UTF-8</ project.build.sourceEncoding > < spring.version >3.2.6.RELEASE</ spring.version > </ properties > < dependencies > < dependency > < groupId >junit</ groupId > < artifactId >junit</ artifactId > < version >3.8.1</ version > < scope >test</ scope > </ dependency > <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --> < dependency > < groupId >org.springframework</ groupId > < artifactId >spring-webmvc</ artifactId > < version >${spring.version}</ version > </ dependency > <!-- https://mvnrepository.com/artifact/org.springframework/spring-web --> < dependency > < groupId >org.springframework</ groupId > < artifactId >spring-web</ artifactId > < version >${spring.version}</ version > </ dependency > </ dependencies > < build > < finalName >api</ finalName > </ build > </ project > |
web.xml配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | <? 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_3_1.xsd" version="3.1"> < display-name >rybt.kpi.api</ display-name > <!-- contextConfigLocation参数用来指定Spring Bean的配置文件 默认配置在WEB-INF目录下 --> < context-param > < param-name >contextConfigLocation</ param-name > < param-value >classpath:spring/*.xml</ param-value > </ context-param > <!-- 配置spring核心监听器,默认会以 /WEB-INF/applicationContext.xml作为配置文件 --> < listener > < listener-class >org.springframework.web.context.ContextLoaderListener</ listener-class > </ listener > < servlet > < servlet-name >rybt.kpi.api</ servlet-name > < servlet-class >org.springframework.web.servlet.DispatcherServlet</ servlet-class > <!-- 可以自定义servlet.xml配置文件的位置和名称,默认为WEB-INF目录下,默认名称为[<servlet-name>]-servlet.xml,如spring-servlet.xml --> < init-param > < param-name >contextConfigLocation</ param-name > < param-value >classpath:spring/spring-mvc.xml</ param-value > </ init-param > < load-on-startup >1</ load-on-startup > </ servlet > < servlet-mapping > < servlet-name >rybt.kpi.api</ servlet-name > < url-pattern >/</ url-pattern > </ servlet-mapping > < servlet-mapping > < servlet-name >rybt.kpi.api</ servlet-name > < url-pattern >/home/index</ url-pattern > </ servlet-mapping > <!-- 让以下后缀的文件可以不走mvc的路由 --> < servlet-mapping > < servlet-name >default</ servlet-name > < url-pattern >/static/*</ url-pattern > </ servlet-mapping > <!-- 默认页面 --> < welcome-file-list > < welcome-file >home/index</ welcome-file > </ welcome-file-list > </ web-app > |
再来个spring-mvc.xml 配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | < beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"> <!-- 下面是配置扫描包的位置,包名为com.maskkk,也就是说,我们的试图解析器应该放在com.maskkk包下. --> < context:component-scan base-package="com.rybt.kpi.controller" /> < bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!-- 前缀,我们的视图文件应该放到/WEB-INF/view/目录下,这里我们需要在WEB-INF下面创建view文件夹 --> < property name="prefix" value="/WEB-INF/views/" /> <!-- 设置后缀为.jsp --> < property name="suffix" value=".jsp" /> </ bean > </ beans > |
最后写个controller层的class即可:
package com.rybt.kpi.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @Controller @RequestMapping("/home") public class HomeController { @RequestMapping(value="/index",method = {RequestMethod.GET,RequestMethod.POST}) public String index(Model model){ return "home/index"; } }
对了,还需要来个index.jsp的页面,完事;
最后来个代码结构图:
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· 【.NET】调用本地 Deepseek 模型
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库