Spring MVC 实例及使用

Spring MVC Demo

 

说明:这个Demo用来简单展示Spring MVC的实现。[在此之前,应该下载好spring的jar文件,以及Spring的依赖jar文件,以及jstl标签库{可选},和standard.jar{可选}]

步骤如下:

1、 在MyEclipse下建立一个Web Projec名称为:Demo;

2、 添加相应的jar文件到WEB-INF/lib,如:spring-framework-3.0.2.RELEASE-with-docs.zip解压文件下dist文件夹下的core、beans、[context.support、context包支持上下文]、[web.servlet支持web MVC]、web包、asm、expression,以及spring-framework-3.0.2.RELEASE-dependencies.zip {Spring依赖}解压文件org.apache.commons/com.springsource.org.apache.commons.logging下的com.springsource.org.apache.commons.logging.jar以及jstl.jar和standard.jar,

3、 配置核心控制器,代码如下:

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.5"

    xmlns="http://java.sun.com/xml/ns/javaee"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

    <!-- spring servlet dispatcher -->

    <servlet>

        <servlet-name>springMVC</servlet-name><!—核心控制器-->

    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

        <load-on-startup>1</load-on-startup><!—服务器启动时加载-->

    </servlet>

    <servlet-mapping>

        <servlet-name>springMVC</servlet-name>

        <url-pattern>*.do</url-pattern><!—过滤类型-->

    </servlet-mapping>

    <welcome-file-list>

    <welcome-file>index.jsp</welcome-file>

    </welcome-file-list>

</web-app>

4、 编写一个控制类如:UserController.java,包结构:com.teana.controller,此类继承AbstractCommandController抽象类,[说明:此类用到数据绑定,数据类型的转换],代码如下:

package com.teana.controller;

import java.text.SimpleDateFormat;

import java.util.Date;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.springframework.beans.propertyeditors.CustomDateEditor;

import org.springframework.validation.BindException;

import org.springframework.web.bind.ServletRequestDataBinder;

import org.springframework.web.servlet.ModelAndView;

import org.springframework.web.servlet.mvc.AbstractCommandController;

import com.teana.vo.User;

/**

* @author TEANA -- 2010-5-16

* User 控制器

* 窗口 > 首选项 > Java > 代码生成 > 代码和注释

*/

@SuppressWarnings("deprecation")

public class UserController extends AbstractCommandController

{

    @Override

    protected ModelAndView handle(HttpServletRequest request,

            HttpServletResponse response, Object commond, BindException be)

            throws Exception

    {

        User user = (User)commond;//自动封装的User对象

        System.out.println(user);

        return new ModelAndView("success");//说明视图的跳转,会在SpringMVC-servlet.xml配置文件中查出

    }

    /**

    * 数据绑定,及数据类型转换

    */

    @Override

    protected void initBinder(HttpServletRequest request,

            ServletRequestDataBinder binder) throws Exception

    {

        binder.registerCustomEditor(Date.class,

                new CustomDateEditor(

                        new SimpleDateFormat("yyyy-MM-dd"), true));

    }

}

 

5、 编写User.java文件,包结构:com.teana.vo,代码如下:

package com.teana.vo;

import java.io.Serializable;

import java.text.SimpleDateFormat;

import java.util.Date;

/**

* @author TEANA -- 2010-5-16

* 用户模型

* 窗口 > 首选项 > Java > 代码生成 > 代码和注释

*/

public class User implements Serializable

{

    private static final long serialVersionUID = -4360427971861239742L;

    private int id;

    private String name;

    private String cardID;

    private Date birth;

    public int getId()

    {

        return id;

    }

    public void setId(int id)

    {

        this.id = id;

    }

    public String getName()

    {

        return name;

    }

    public void setName(String name)

    {

        this.name = name;

    }

    public String getCardID()

    {

        return cardID;

    }

    public void setCardID(String cardID)

    {

        this.cardID = cardID;

    }

    public Date getBirth()

    {

        return birth;

    }

    public void setBirth(Date birth)

    {

        this.birth = birth;

    }

    @Override

    public String toString()

    {

        return "[ name =" + name + ", birth = " +

            new SimpleDateFormat("yyyy-MM-dd").format(birth) +

            ", carID = " + cardID + ", id = " + id + " ]";

    }

}

 

6、 编写jsp页面:

A:修改WebRoot文件下的index.jsp页面,代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

    <title>Spring MVC Demo</title>

</head>

<body>

   <jsp:forward page="login.do" /><!—在此处会根据springMvc-servlet.xml文件中查找真正的jsp页面-->

</body>

</html>

B:在 WEB-INF文件下创建一个jsp文件夹,在jsp文件夹下创建一个login.jsp文件,代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

    <title>Spring MVC Demo 用户注册</title>

</head>

<body>

<center>

<br/>

<br/>

<h5 style="color:pink" >Spring MVC Demo 用户注册</h5>

<form action="user.do" method="post"><!—user.do在springMVC-servlet.xml中查找-->

      <table>

          <tr><td>账号:</td><td><input type="text" name="id" /></td></tr>

          <tr><td>姓名:</td><td><input type="text" name="name" /></td></tr>

          <tr><td>生日:</td><td><input type="text" name="birth" /></td></tr>

          <tr><td>卡号:</td><td><input type="text" name="cardID" /></td></tr>

          <tr><td><input type="submit" value=" 提 交 "/></td><td align="center"><input type="reset" value=" 重 置 "/></td></tr>

      </table>

</form>

</center>

</body>

</html>

C:在WEB-INF/jsp文件夹下创建一个success.jsp文件,这里只用来说明页面跳转成功,代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

    <title>Spring MVC Demo 用户登录成功</title>

</head>

<body>

    <br>

    <center>用户登录成功页面</center>

</body>

</html>

 

7、 在WEB-INF文件夹下创建一个类似于Spring中的applicationContext.xml文件的SpringMVC-servlet.xml文件,这个文件的命名为*****-servlet.xml,*****由配置在web.xml文件下的核心控制器的servlet-name决定。编写其文件代码如下:

<?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:aop="http://www.springframework.org/schema/aop"

    xmlns:tx="http://www.springframework.org/schema/tx"

    xmlns:context="http://www.springframework.org/schema/context"

    xsi:schemaLocation="   

    http://www.springframework.org/schema/beans   

    http://www.springframework.org/schema/beans/spring-beans-2.0.xsd  

    http://www.springframework.org/schema/aop   

    http://www.springframework.org/schema/aop/spring-aop-2.0.xsd  

    http://www.springframework.org/schema/tx   

    http://www.springframework.org/schema/tx/spring-tx-2.0.xsd  

    http://www.springframework.org/schema/context  

    http://www.springframework.org/schema/context/spring-context-2.5.xsd">

    <!—说明处理url的方式映射方式-->

    <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">

    <property name="mappings">

         <props>

             <prop key="index.do">indexController</prop>

             <prop key="login.do">loginController</prop>

             <prop key="user.do">userController</prop>

         </props>

    </property>

    </bean>

<!—根据Url直接跳转到相应jsp文件,此处是当输入http://localhost:8080/Demo/index.do,则跳到WEB-INF/jsp/index.jsp页面-->

<bean id="indexController" class="org.springframework.web.servlet.mvc.UrlFilenameViewController" />

<!-此处是当输入http://localhost:8080/Demo/login.do则根据springMVC-servlet.xml文件的viewName的值去在制定格式的路径下查找相应文件-->

    <bean id="loginController" class="org.springframework.web.servlet.mvc.ParameterizableViewController">

    <property name="viewName" value="login" />

    </bean>

    <bean id="userController" class="com.teana.controller.UserController">

    <property name="commandClass" value="com.teana.vo.User" />

    </bean>

 

    <bean class="org.springframework.web.servlet.view.UrlBasedViewResolver"><!-- 指定策略解析 -->

    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /><!-- 指定视图处理 -->

    <property name="prefix" value="/WEB-INF/jsp/" /><!—前缀-->

    <property name="suffix" value=".jsp" /><!—后缀-->

    </bean>

</beans>

总结:【使用Spring mvc 需要步骤】

①     在web.xml中配置DispatcherServlet及URL映射;

②     编写IOC容器所需要的XML配置文件,命名为<servlet-name>-servlet.xml,放到/WEB-INF目录下,如果DispatchertServlet在web.xml中的配置为SpringMVC,则Spring将寻找SpringMVC-servlet.xml配置文件。

③     在XML配置文件中定义URL映射方式和使用哪种View技术

spring mvc,spring和springboot的关系 Spring 框架是基础,提供了核心功能和模块。Spring MVC是 Spring 框架的一部分,专注于 Web 应用开发。是 Spring 框架的扩展,通过自动配置和起步依赖简化了 Spring 应用的开发。Spring 框架提供了全面的企业级应用开发功能。Spring MVC是 Spring 框架的一部分,专注于 Web 应用开发。是 Spring 框架的扩展,通过自动配置和起步依赖简化了 Spring 应用的开发。 阅读详情

相关推荐

Spring Boot、Spring MVC 和 Spring 有什么区别

Spring 是整个生态的基础,提供了最核心的 IoC 容器、AOP 等功能。Spring MVC 是基于 Spring 的 Web 框架,专门用来处理 HTTP 请求,是 Spring 的一个子模块。而 Spring Boot 是对 Spring 全家桶的封装和自动配置工具,目的是简化开发、统一约定、提升效率。Spring 是基础、Spring MVC 是扩展、Spring Boot 是加速器。

完全体 1219

Spring Boot Spring MVC

Spring MVC 是一个基于模型-视图-控制器(MVC)模式的 Web 框架,提供了一整套处理 HTTP 请求的工具,包括控制器(Controller)、视图解析(View Resolver)和模型绑定(Model Binding)。

Flying_Fish_roe的博客 2006

保姆级教程:用torch.profiler给你的vLLM推理做个“全身体检”(附Perfetto可视化分析)

本文提供了一份详细的vLLM推理性能分析教程,通过torch.profiler和Perfetto工具链实现从数据采集到可视化分析的全流程。文章涵盖了环境配置、性能数据采集、trace文件解析以及Perfetto可视化分析,帮助开发者优化大模型推理服务的性能,显著降低计算资源消耗。

weixin_29041767的博客 358

Spring MVC

jsp 其实也是一个 Servlet,它会由容器解析成一个 Servlet,所以,使用 Model 设置的参数最终会被映射到 request 域中,jsp 从 request 中拿到要解析的值。,第一个参数传入一个 sql 语句,后面一个参数是一个函数式接口,用于将查询结果映射到 Java 类中,rs 是查询结果,rowNum 是查询的行数。<input type="button" id="queryBtn" value="查询">

hanjie13141516的博客 1475

STM32H750实战:如何用CubeMX配置NAND Flash时序(附常见问题排查)

本文详细解析了STM32H750通过CubeMX配置NAND Flash时序的实战技巧,包括硬件连接、时序参数计算与优化策略,以及常见问题如RGB屏幕干扰、多片选冲突的解决方案。特别针对NAND Flash的时序配置和抗干扰设计提供了实用代码示例和优化建议,帮助开发者提升系统稳定性和性能。

weixin_29176179的博客 363

智能检查点优化:动态频率与差异化存储的断点续训实践(模型训练丨容错机制丨人工智能)

本文深入探讨了大规模模型训练中智能检查点优化的核心实践。针对传统固定频率保存导致的存储浪费与恢复缓慢问题,提出了基于损失变化率的动态频率算法与分层差异化存储策略。通过PyTorch代码示例,详细展示了如何实现动态调度与增量保存,有效降低存储成本,并确保训练中断后能快速、可靠地恢复,显著提升训练任务的容错能力与经济效益。

weixin_29072299的博客 333

spring mvc入门实例

目录spring mvc是什么?spring mvc执行流程spring mvc实例1.创建一个普通的maven项目(略)2.添加web框架3.导入依赖(pom.xml)4.编写配置文件5.配置tomcat6.编写web.xml7.编写实体类(pojo)8.编写dao层9.编写service层10.编写Controller层11.编写前端页面补充知识点: spring mvc是什么? spring mvc是一种web层mvc框架, 它是spring的一个模块, 拥有spring的特性。springmvc分离

m0_54797663的博客 440

FFmpeg视频缩放终极指南:从基础命令到保持宽高比的5种实战技巧

本文是FFmpeg视频缩放的终极指南,详细讲解了从基础命令到保持宽高比的5种实战技巧。针对不同平台(如抖音、B站、Instagram)的分辨率要求,提供了具体的参数模板和批量处理脚本,帮助内容创作者高效、精准地调整视频大小,避免画面变形或黑边问题,实现多平台适配。

juice的博客 458

Spring Web MVC(Spring MVC)

4.实现服务器端代码学习Spring MVC, 其实就是学习各种Web开发需要⽤的到注解是⼀个 Web 框架.,简称之为: Spring MVCMVC 定义eg:HR就是View(视图), 负责接待候选⼈, 并告知候选⼈⾯试结果不同的部⻔, 就是Controller(控制器), HR根据候选⼈来选择对应的部⻔来进⾏⾯试⾯试官, 就是Model层, 来处理⾯试这个事情Spring MVCMVC 是⼀种架构设计模式, 也是⼀种思想, ⽽ Spring MVC。

2301_80363309的博客 1614

gRPC之gRPC开发流程与入门案例

gRPC之gRPC开发流程与入门案例

YIYIYI 3759

一文读懂水利无人机AI识别算法,概念、需求、解决方案

复亚智能的水利无人机AI识别算法通过先进的技术手段,为水利管理提供了高效、精准的解决方案。随着技术的不断进步和应用的深入,复亚智能的解决方案将在更多水利场景中发挥重要作用,助力智慧水利管理的全面升级。该系统通过搭载在无人机上的传感器和摄像头,结合先进的AI识别算法,实现对河道淤积、漂浮物、船只和水质污染等问题的自动检测和监控。基于大量实飞采集的数据,复亚智能的算法经过严格的训练,能够准确识别各种水利问题。复亚智能的系统具有高度的开放性和兼容性,能够与第三方平台和算法无缝对接,满足不同客户的多样化需求。

foiadrone的博客 1197

spring mvc实例

1.配置web.xml,代码如下: <!--配置SringMVC的核心控制器DispatcherServlet--> <servlet> <servlet-name>dispatcherServlet</servlet-name> <servlet-class> org.springframework...

大老二的Python路 281

继电保护原理1.2-反时限过流保护

反时限过流保护

让你爱上电路设计 1万+

Spring Boot管理Spring MVC

在Spring Boot应用中使用Spring MVC时,如果希望在为Spring MVC自动配置提供相关特性的同时,再增加一些自定义的Spring MVC配置,例如添加拦截器、视图控制器等,可以通过自定义WebMvcConfigurer类型的配置类来实现。

daqi1983的博客 1647

05 - GRACE数据处理-球谐展开与球谐综合

GRACE数据处理-球谐展开和综合前面在介绍GRACE相关理论的时候提到过下面的公式,从公式形式上可以看出,面密度变化和球谐系数(CS)之间是能够相互转换的,那这个转化的过程可以称为球谐展开,简单理解就是将全球网格数据转化为球谐系数的过程。而球谐综合可以看作是球谐展开的逆过程,利用球谐系数计算到全球格网分布。

weixin_43339605的博客 1050

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Spring Web MVC

Spring Web MVC入门 和 postman使用

qq_67549203的博客 1480

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Spring MVC—Spring MVC概述

Spring MVC

且将&的博客 695

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

【Spring MVC】Spring MVC框架的介绍及其使用方法

史上最全的Spring MVC使用讲解,一篇文章带你快速掌握Spring MVC的使用方法。

小七的博客 2063

Spring MVC配置

Spring MVC(Model-View-Controller)是 Spring 框架中专门处理 Web 层的模块。作为一款功能强大的 Web 框架,它遵循 MVC 模式,将应用的各个部分分离开来。具体来说,Spring MVC 是一个前端控制器(DispatcherServlet),用于接收用户请求,并根据不同的请求,分发到具体的 Controller。然 Controller 处理请求逻辑并返回数据,最后将结果交给 ViewResolver 解析为具体的视图。

m0_75260099的博客 1595

Spring MVC 全面解析

**Spring MVC** 是 Spring 框架中的一个模块,它基于 MVC(Model-View-Controller)设计模式,旨在帮助开发者构建灵活、松耦合的 Web 应用。主要目的是简化传统 Servlet+JSP 模式下的 Web 开发方式。

技术让我们连接在一起 2027

java spring mvc入门,实例详解Spring MVC入门使用

MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model),视图(View)和控制器(Controller).通过分层使开发的软件结构更清晰,从而达到开发效率的提高,可维护性和扩展性得到提高.Spring提供的MVC框架是在J2EE Web开发中对MVC模式的一个实现,本文通过实例讲解一下Spring MVC 的使用.先来...

weixin_39929465的博客 213

spring mvc是什么_Spring、Spring Boot与Spring MVC

总论Spring框架就像一个家族,有众多衍生产品例如boot、security、jpa等等。但他们的基础都是Spring的ioc和aop。ioc提供了依赖注入的容器,aop解决了面向横切面的编程;然后在此二者的基础上实现了其他延伸产品的高级功能。Spring MVC是基于 Servlet 的一个 MVC 框架,主要解决 WEB 开发的问题。后来因为 Spring 的配置非常复杂,各种XML、 Ja...

weixin_39566578的博客 108

Spring MVC 是什么?

Spring MVC 是 Spring 为表述层提供的基于 MVC 设计理念的优秀的 Web 框架,是 Spring 的一个子项目,是 JavaEE 项目表述层开发的首选方案。

JiaHao汤 1123
上一篇: 在JSP中This absolute uri http://java.sun.com/jsp/jstl/core cannot be resolved ……的解
下一篇: cookie中无法保存中文
phosphory
博客等级 码龄20年 0粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值