不知不觉,这里已经记录到了spring mvc 四了,不过我们前面写的都是比较简单,不过应用场景还是比较少,毕竟没有人一个方法一个Controller的了,这样的话,一个系统都不知道多少个Controller了,当然这样我觉得(以后所有记录 “我觉得”,都是个人观点,不代表任何人,呵呵,免得很多人老是被代表)也不符合面向对象的原则。
如果学过struts或者用过struts的人都知道,一个action(spring叫 controller)有很多的方法的,这样比较合理,嗯,我也是这么认为的,那接下来我们就开始学习下怎么实现一个类多个方法的请求吧。
还是那句话,前面的基础和项目搭建我这里就不在详细描述了,我们这里的基础是衔接 Spring mvc 三。
1、先从java代码开始吧,我们创建一个类,但是这个类是必须(注意哦,必须)继承MultiActionController,具体代码如下:
/*
* Copyright 2013 The JA-SIG Collaborative. All rights reserved.
* distributed with this file and available online at
* http://www.etong.com/
*/
package com.lap.taobaouse.controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;
/**
* <p>
*
* </p>
*
* @author 劳水生 Exp
* @version $FileName: LapController.java $Date: 2013-3-20 下午3:07:20 -0400 2013
* @since 1.0
*
*/
public class LapController extends MultiActionController {
/**
* <p>
* 查询列表
* </p>
*
* @param request
* @param response
* @return
*/
public ModelAndView queryList(HttpServletRequest request, HttpServletResponse response) {
ModelAndView modelAndView = new ModelAndView("listTest");
// TODO业务调用
return modelAndView;
}
/**
* <p>
* 根据id查询
* </p>
*
* @param request
* @param response
* @return
*/
public ModelAndView queryById(HttpServletRequest request, HttpServletResponse response) {
ModelAndView modelAndView = new ModelAndView("testInfo");
// TODO业务调用
return modelAndView;
}
}
非常的简单吧,跟我们平时的类差别不大,就是继承了一个父类。
2、接下来我们看看spring配置文件需要添加的内容,先贴代码再说情况,有图有真相嘛,如:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans default-autowire="byName">
<!-- 普通的bean实体 -->
<bean name="sampleController" class="com.lap.taobaouse.controller.SampleController" />
<bean name="lapController" class="com.lap.taobaouse.controller.LapController">
<property name="methodNameResolver" ref="parameterMethodResolver" />
</bean>
<!-- 实现一类对多方法的方法参数 -->
<bean id="parameterMethodResolver" class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
<property name="paramName" value="method" />
</bean>
<!-- url 管理 -->
<bean id="simpleUrlHandlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/test.htm">sampleController</prop>
<prop key="/lap.htm">lapController</prop>
</props>
</property>
</bean>
<!-- 管理视图对象 -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="cache" value="true" />
<property name="prefix" value="/static/template/" />
<property name="suffix" value=".jsp" />
<property name="contentType" value="text/html;charset=utf-8" />
</bean>
</beans>
标有颜色的就是此次添加的,跟基础的controller有点不一样的吧,他里面有一个属性,是指请求方法名称类的,包org.springframework.web.servlet.mvc.multiaction下面有很多非常有用的类,有时间的童鞋可以去看看,会让你把配置文件请求写的更优美,特别是 PropertiesMethodNameResolver 类(这里就不详细讲了,这个类确实很实用,想了解的另外讲解吧),
3、最后就是写页面了,根据我们前面几个讲解,页面大家大概知道了吧,两个方法两个页面,代码如下:
listTest.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>一个类对多方法列表</title>
</head>
<body>
<h3>一个类对多方法列表,喂,世界您好!</h3>
</body>
</html>
testInfo.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>一个类对多方法详细</title>
</head>
<body>
<h3>一个类对多方法详细,喂,世界您好!</h3>
</body>
</html>
呵呵,我们重点是测试跳转成功,所以没有打算写什么业务,那么请求地址是怎么样呢?
http://域名:端口/项目名称/lap.htm?method(这个是可以自己定义的,就是上面配置文件写的<property name="paramName" value="method" />)=方法名
好了,再次截图一下项目的结构吧:
写的不好大家不要喷哦,如有疑问可以大家一起探讨,转载记得也要留出处哦
分享到:
相关推荐
spring MVC基础学习
spring mvc基础开发 最基础类 一目了然 适合初学者
这里提供了Spring3 MVC中较为常见的使用方法,主要是利用Spring3官方文档建议使用的Annotation进行开发的一般步骤,包含了常见的集中Annotation的使用方法。
《Spring MVC+MyBatis开发从入门到项目实战》适用于拥有Java基础的软件开发人员学习框架开发,也适用于大中专院校在校师生学习开发技术,以及软件从业实习生提升框架开发技术水平,也可作为高等院校计算机及相关专业...
本文通过分析Spring MVC的核心组件和执行流程,提供了一个全面的学习指南。 Spring MVC基于Model-View-Controller(MVC)架构模式,优化了Web应用程序的设计和开发。在Spring MVC中,DispatcherServlet作为前端控制...
毕设项目基于Spring + Spring MVC + Mybatis的销售管理系统源码.zip毕设项目基于Spring + Spring MVC + Mybatis的销售管理系统源码.zip毕设项目基于Spring + Spring MVC + Mybatis的销售管理系统源码.zip毕设项目...
★ 通过学习Srping MVC框架达到设计真实Web应用的专业水准 Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。Spring MVC4是当前...
Spring MVC基础学习笔记。无论对于SPRING MVC初学者还是想要加深的人来说这都是一本不错的笔记。
JAVA SpringMVC基础学习教程,由浅入深介绍MVC概念、实战等
基于Spring + Spring MVC + Mybatis的销售管理系统.zip 1、该资源内项目代码经过严格调试,下载即用确保可以运行! 2、该资源适合计算机相关专业(如计科、人工智能、大数据、数学、电子信息等)正在做课程设计、期末...
适合人群:具备一定编程基础,工作1-3年的研发人员,或者已学习过基本的Java及JSP的学生 能学到什么:1. 快速掌握Spring MVC的开发;2. 为进一步掌握Spring Boot做准备;3.了解Spring的面试中常见问题的真实应用 ...
【资源说明】 1、基于Spring + Spring MVC + Mybatis的销售管理系统源码+项目说明.zip 2、该资源包括项目的全部...基础框架Spring + Spring MVC + Mybatis 分布式框架dubbo 消息系统kafka 缓存redis 构建工具maven</br>
本书是Servlet、JSP和Spring MVC的学习指南。全书内容分为两个部分,首部分主要介绍Servlet和JSP基础知识和技术,包括第1章至第15章;第2部分主要介绍Spring MVC,包括第16章至第24章。附录部分给出了Tomcat安装和...
NULL 博文链接:https://shmilyaw-hotmail-com.iteye.com/blog/2233083
《互联网轻量级SSM框架解密:Spring、Spring MVC、MyBatis源码深度剖析》以SSM 的核心代码剖析为基础,突破Java Web 研发瓶颈的束缚,选取Spring、SpringMVC 和MyBatis 框架中易于理解的版本,深入剖析了其中各个...
spring+springmvc+hibernate整合框架Demo,在此基础上开发或学习。其中包含apache的log4j记录日志信息,spring管理组件,springmvc分层,springaop配置数据库事务控制,hibernate二级缓存配置,实现了查询,用户登录...
基于Spring + Spring MVC + MyBatis的酒店管理系统,主要实现酒店客房的预定、入住以及结账等功能。使用Maven进行包管理。 用户端主要功能包括: 登录注册、客房预订、客房评论(编写评论和查看评论) 后台管理...
基于SSM(Sping+Spring MVC+MyBatis)框架的校园宽带业务管理系统.zip 1、该资源内项目代码经过严格调试,下载即用确保可以运行! 2、该资源适合计算机相关专业(如计科、人工智能、大数据、数学、电子信息等)正在做...
Spring MVC基础入门 什么是MVC 什么是SpringMVC Spring MVC 快速入门 Spring MVC 执行流程分析 Spring MVC 三大组件 Spring MVC 核心源码分析 @RequestMapping注解 Spring MVC请求参数封装 Spring MVC 基本类型封装 ...
旅游网站毕业设计使用了spring mvc,spring,hibernate的框架组合,前端使用thymleaf模板展示。分为前端和后端两部分。 主要功能包括:游玩路线,游玩攻略,酒店预订,景点预定,用户管理,酒店管理,景点管理,路线...