`
dawuafang
  • 浏览: 1112992 次
文章分类
社区版块
存档分类
最新评论

Spring MVC 四 基础学习

 
阅读更多


不知不觉,这里已经记录到了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基础学习

    spring mvc rest基础学习demo

    spring mvc基础开发 最基础类 一目了然 适合初学者

    Spring3 MVC 基础学习手册

    这里提供了Spring3 MVC中较为常见的使用方法,主要是利用Spring3官方文档建议使用的Annotation进行开发的一般步骤,包含了常见的集中Annotation的使用方法。

    Spring MVC+MyBatis开发从入门到项目实战

    《Spring MVC+MyBatis开发从入门到项目实战》适用于拥有Java基础的软件开发人员学习框架开发,也适用于大中专院校在校师生学习开发技术,以及软件从业实习生提升框架开发技术水平,也可作为高等院校计算机及相关专业...

    全面掌握Spring MVC:从基础到高级的实践指南

    本文通过分析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毕设项目基于Spring + Spring MVC + Mybatis的销售管理系统源码.zip毕设项目...

    精通Spring MVC 4

    ★ 通过学习Srping MVC框架达到设计真实Web应用的专业水准 Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。Spring MVC4是当前...

    spring MVC学习笔记

    Spring MVC基础学习笔记。无论对于SPRING MVC初学者还是想要加深的人来说这都是一本不错的笔记。

    JAVA Spring MVC基础学习教程.pdf

    JAVA SpringMVC基础学习教程,由浅入深介绍MVC概念、实战等

    基于Spring + Spring MVC + Mybatis的销售管理系统.zip

    基于Spring + Spring MVC + Mybatis的销售管理系统.zip 1、该资源内项目代码经过严格调试,下载即用确保可以运行! 2、该资源适合计算机相关专业(如计科、人工智能、大数据、数学、电子信息等)正在做课程设计、期末...

    Spring全家桶课程 基础篇:Spring MVC快速开发 的源码

    适合人群:具备一定编程基础,工作1-3年的研发人员,或者已学习过基本的Java及JSP的学生 能学到什么:1. 快速掌握Spring MVC的开发;2. 为进一步掌握Spring Boot做准备;3.了解Spring的面试中常见问题的真实应用 ...

    基于Spring + Spring MVC + Mybatis的销售管理系统源码+项目说明.zip

    【资源说明】 1、基于Spring + Spring MVC + Mybatis的销售管理系统源码+项目说明.zip 2、该资源包括项目的全部...基础框架Spring + Spring MVC + Mybatis 分布式框架dubbo 消息系统kafka 缓存redis 构建工具maven&lt;/br&gt;

    Servlet JSPHe Spring MVC初学指南.txt

     本书是Servlet、JSP和Spring MVC的学习指南。全书内容分为两个部分,首部分主要介绍Servlet和JSP基础知识和技术,包括第1章至第15章;第2部分主要介绍Spring MVC,包括第16章至第24章。附录部分给出了Tomcat安装和...

    spring学习: spring mvc基础

    NULL 博文链接:https://shmilyaw-hotmail-com.iteye.com/blog/2233083

    互联网轻量级SSM框架解密:Spring、Spring MVC、MyBatis源码深度剖析

    《互联网轻量级SSM框架解密:Spring、Spring MVC、MyBatis源码深度剖析》以SSM 的核心代码剖析为基础,突破Java Web 研发瓶颈的束缚,选取Spring、SpringMVC 和MyBatis 框架中易于理解的版本,深入剖析了其中各个...

    vip会员登录系统结合spring + mvc +hibernate

    spring+springmvc+hibernate整合框架Demo,在此基础上开发或学习。其中包含apache的log4j记录日志信息,spring管理组件,springmvc分层,springaop配置数据库事务控制,hibernate二级缓存配置,实现了查询,用户登录...

    基于Spring+Spring MVC+MyBatis的酒店管理系统源码+sql数据库(课程设计).zip

    基于Spring + Spring MVC + MyBatis的酒店管理系统,主要实现酒店客房的预定、入住以及结账等功能。使用Maven进行包管理。 用户端主要功能包括: 登录注册、客房预订、客房评论(编写评论和查看评论) 后台管理...

    基于SSM(Sping+Spring MVC+MyBatis)框架的校园宽带业务管理系统.zip

    基于SSM(Sping+Spring MVC+MyBatis)框架的校园宽带业务管理系统.zip 1、该资源内项目代码经过严格调试,下载即用确保可以运行! 2、该资源适合计算机相关专业(如计科、人工智能、大数据、数学、电子信息等)正在做...

    springmvc:Spring MVC教程

    Spring MVC基础入门 什么是MVC 什么是SpringMVC Spring MVC 快速入门 Spring MVC 执行流程分析 Spring MVC 三大组件 Spring MVC 核心源码分析 @RequestMapping注解 Spring MVC请求参数封装 Spring MVC 基本类型封装 ...

    旅游网站spring mvc+spring+hibernate

    旅游网站毕业设计使用了spring mvc,spring,hibernate的框架组合,前端使用thymleaf模板展示。分为前端和后端两部分。 主要功能包括:游玩路线,游玩攻略,酒店预订,景点预定,用户管理,酒店管理,景点管理,路线...

Global site tag (gtag.js) - Google Analytics