1.1 简单示例
- 通篇使用java config
- @Controller声明bean是一个控制器
- @RequestMapping访问路径和方法之间的映射
1.2 演示
1.2.1 新建maven web项目
1.2.2 添加spring mvc依赖到maven
将pom.xml
修改如下
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>testSpringMVC</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<properties>
<!-- Generic properties -->
<java.version>1.7</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<!-- Web -->
<jsp.version>2.2</jsp.version>
<jstl.version>1.2</jstl.version>
<servlet.version>2.5</servlet.version>
<!-- Spring -->
<spring-framework.version>4.1.5.RELEASE</spring-framework.version>
<!-- Logging -->
<logback.version>1.0.13</logback.version>
<slf4j.version>1.7.5</slf4j.version>
</properties>
<dependencies>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>7.0</version>
<scope>provided</scope>
</dependency>
<!-- Spring MVC -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring-framework.version}</version>
</dependency>
<!-- Other Web dependencies -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>${jstl.version}</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>${servlet.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>${jsp.version}</version>
<scope>provided</scope>
</dependency>
<!-- Spring and Transactions -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring-framework.version}</version>
</dependency>
<!-- Logging with SLF4J & LogBack -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${logback.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>${logback.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-access</artifactId>
<version>${logback.version}</version>
</dependency>
</dependencies>
<groupId>com.wisely</groupId>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
1.2.3 构建目录
- 删除
src/main/webapp/WEB-INF/web.xml
; - 删除
src/main/resources
下的除logback.xml
; - 在
logback.xml
添加<logger name="org.springframework.web" level="DEBUG"/>
,观察请求错误(4xx错误); - 在
src/main/java
新建packagecom.wisely
; - 目录结构如图
1.2.4 基于java config的spring mvc的配置
本例基于java config,包括不使用web.xml
- Spring MVC的配置
package com.wisely;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.springframework.web.servlet.view.JstlView;
import org.springframework.web.servlet.view.UrlBasedViewResolver;
@Configuration
@ComponentScan("com.wisely")
@EnableWebMvc
public class DemoMVCConfig extends WebMvcConfigurerAdapter {
//名称与实际的页面的映射
// return "index" ; 实际返回的页面是/WEB-INF/views/index.jsp
@Bean
public UrlBasedViewResolver viewResolver(){
UrlBasedViewResolver resolver = new UrlBasedViewResolver();
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
resolver.setViewClass(JstlView.class);
return resolver;
}
}
- WebInitializer(相当于web.xml)
package com.wisely;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRegistration.Dynamic;
import javax.servlet.jsp.jstl.core.Config;
import org.springframework.web.WebApplicationInitializer;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import org.springframework.web.servlet.DispatcherServlet;
public class WebInitializer implements WebApplicationInitializer {
@Override
public void onStartup(ServletContext servletContext)
throws ServletException {
AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
ctx.register(DemoMVCConfig.class);
//注册spring mvc的DispatcherServlet
ctx.setServletContext(servletContext);
Dynamic servlet = servletContext.addServlet("dispatcher", new DispatcherServlet(ctx));
servlet.addMapping("/");
servlet.setLoadOnStartup(1);
}
}
1.2.5 简单的Controller
- HomeController
package com.wisely.web;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HomeController {
@RequestMapping("/")
public String home(){
return "index";
}
}
src/main/webapp/WEB-INF/views/index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
index.jsp is here
</body>
</html>
1.2.6 运行
新书推荐《JavaEE开发的颠覆者: Spring Boot实战》,涵盖Spring 4.x、Spring MVC 4.x、Spring Boot企业开发实战。
京东地址:http://item.jd.com/11894632.html
当当地址:http://product.dangdang.com/23926195.html
亚马逊地址:http://www.amazon.cn/图书/dp/B01D5ZBFUK/ref=zg_bsnr_663834051_6
淘宝地址:https://item.taobao.com/item.htm?id=528426235744&ns=1&abbucket=8#detail
或自己在京东、淘宝、亚马逊、当当、互动出版社搜索自选。
相关推荐
第二部分 点睛Spring MVC 4.x 第4 章 Spring MVC 基础 72 4.1 Spring MVC 概述 73 4.2 Spring MVC 项目快速搭建 74 4.2.1 点睛 74 4.2.2 示例 74 4.3 Spring MVC 的常用注解 82 4.3.1 点睛 82 4.3.2 示例 83 4.4 ...
第二部分 点睛Spring MVC 4.x 第4 章 Spring MVC 基础 72 4.1 Spring MVC 概述 73 4.2 Spring MVC 项目快速搭建 74 4.2.1 点睛 74 4.2.2 示例 74 4.3 Spring MVC 的常用注解 82 4.3.1 点睛 82 4.3.2 示例 83 4.4 ...
第二部分 点睛Spring MVC 4.x 第4 章 Spring MVC 基础 72 4.1 Spring MVC 概述 73 4.2 Spring MVC 项目快速搭建 74 4.2.1 点睛 74 4.2.2 示例 74 4.3 Spring MVC 的常用注解 82 4.3.1 点睛 82 4.3.2 示例 83 4.4 ...
# 基于Java Web的饮品销售管理系统 ## 项目简介 本项目是一个基于Java Web的饮品销售管理系统,主要用于学校实训课程的作业。系统涵盖了从用户管理、商品管理、订单管理到购物车管理的全套功能,旨在提供一个完整的在线饮品销售解决方案。 ## 项目的主要特性和功能 ### 用户管理 用户注册与登录支持用户注册新账号和登录系统。 用户信息管理包括用户信息的查询、修改和删除。 用户类型管理区分不同类型的用户(如管理员、普通用户)。 ### 商品管理 商品CRUD操作支持商品的添加、修改、删除和查询。 商品分类管理支持多级商品分类的查询和管理。 商品分页查询支持按页查询商品信息,提高查询效率。 ### 订单管理 订单CRUD操作支持订单的创建、修改、删除和查询。 订单明细管理支持订单明细的添加和管理。 订单状态管理支持订单状态的更新和查询。 ### 购物车管理
BitmapFunc
c++课程设计-产品入库管理操作系统
c语言火车票订票管理源码
仿新浪微博下拉刷新继承FrameLayout
浮动搜索框(SearchManager)
# 基于Particle Tracker框架的传感器浮标系统 ## 项目简介 本项目是一个基于Particle Tracker框架的传感器浮标系统,旨在通过集成多种传感器和通信模块,实现对环境参数的实时监测和数据传输。该系统主要应用于海洋监测、环境监测等领域,通过浮标上的传感器收集温度、湿度、位置等数据,并通过Particle Tracker平台进行数据处理和传输。 ## 项目的主要特性和功能 1. 传感器集成 集成BMI160传感器,用于检测三轴加速度和三轴陀螺仪数据。 集成Grove温度和湿度传感器,用于实时监测环境温度和湿度。 集成NTC热敏电阻,用于精确测量温度变化。 2. 位置追踪 使用UBLOX GPS模块,提供高精度的位置追踪功能。 支持地理围栏功能,能够检测浮标是否进入或离开预设区域。 3. 数据通信 通过CAN总线实现传感器数据的高效传输。
<项目介绍> - 树莓派使用OpenCV库实现人脸识别 - 不懂运行,下载完可以私聊问,可远程教学 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
PHP基于Linux的远程管理系统服务器端的实现(源代码+论文)
c语言课程设计-产品管理系统
一个智能问答系统,能够自动将用户的自然语言问题转换成 SQL 查询,并以可视化形式展示结果 用户使用自然语言查询数据。基于 Python、MySQL 和 Milvus 构建,将用户的问题转换为 SQL 查询,安全地执行,并产生符合echarts的数据可视化呈现结果。
医生健康科普问答咨询平台(前端+后台)源码带手机端 医生健康科普问答咨询平台,主要提供专业、及时的健康咨询服务,问题涵盖面广,包括内科、外科、 妇科、儿科、男科、中医、五官、等科室。可以通过视频,音频,文章,问答等方式进行科普。 前台首页:1、包含幻灯片 2、权威医生 3、医学视频 4、语音科普 5、科普文章。 6、健康问答 7、个人中心。 网站管理后台:各模块可以灵活管理和配置。 1、信息管理: (1)会员系统。(2)轮播系统。(3)权威医生。(4)医学视频。(5)语音科普。 (6)科普文章。(7)健康问答。(8)友情链接。(9)帮助中心。(10)栏目板块。 2、用户管理:(1)管理员管理。(2)部门管理。(数据权限)(3)用户组管理。(菜单权限) 3、页面管理:(1)高级标签(SQL)。(2)自定义静态标签。(3)静态页面生成。 4、系统管理:(1)网站参数管理。 (2)模型管理。(可以生成板块,对应字段后台展示不同控件,并有相应维护功能,可以根据模型 及模型下栏目创建标签,将标签放入html模板中,生
# 基于Python和OpenMV Camera的图像处理与通信系统 ## 项目简介 本项目基于OpenMV Camera,结合MicroPython,实现了图像捕获、处理与通信功能。通过UART和SPI协议,实现了与Arduino和ESP32等设备的通信,实现了图像数据的传输和接收。项目涵盖了图像捕获、处理、传输、反馈等多个环节,旨在实现机器视觉应用中的图像数据采集与通信。 ## 主要特性和功能 1. 图像捕获使用OpenMV Camera进行图像捕获,支持灰度图像和彩色图像。 2. 图像处理对捕获的图像进行二值化、灰度转换等处理,用于后续机器视觉任务。 3. UART通信通过UART接口,实现与Arduino、ESP32等设备的通信,发送和接收图像数据。 4. SPI通信作为SPI从设备,与Arduino主设备进行通信,实现数据的传输。 5. LED状态指示使用LED灯指示程序运行状态和图像捕获处理进度。
gee python 教程(西班牙语)
按钮点击WIN8 磁贴效果
动态ListView,支持异步更新列表,异步更新图片