`
ywChen
  • 浏览: 121037 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Spring3 MVC 学习笔记(一) 入门

阅读更多

spring mvc原理图:


*根据HTTP请求的URL,调用相应的DispatcherServlet控制器。
*提供一个视图是作为HTTP响应发送。

 

【springmvc 入门例子】

 

导入需要的包

 

文件目录:


 1.创建HelloWorldController java文件

 

package org.spring.mvc;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class HelloWorldController {
	private Logger logger = LoggerFactory.getLogger(HelloWorldController.class);
	@RequestMapping("/helloWorld")
	public ModelAndView helloWorld() {
		ModelAndView mav = new ModelAndView();
		mav.setViewName("helloWorld");
		mav.addObject("message", "Hello World!");
		logger.info("this is helloWorld");
		return mav;
	}
}

 

2.spring_mvc.xml 配置文件

 

<?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:p="http://www.springframework.org/schema/p"
	xmlns:context="http://www.springframework.org/schema/context"
	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">
	<!-- 注解资源扫描包路径 -->	
	<context:component-scan base-package="org.spring.mvc" />
	<bean
		class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />

	<bean
		class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />

	<!--  对模型视图名称的解析,即在模型视图名称添加前后缀,在requestmapping输入的地址后自动调用该类进行视图解析-->	
	<bean id="viewResolver"
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="viewClass"
			value="org.springframework.web.servlet.view.JstlView" />
		<property name="prefix" value="/" /><!-- 跳转页面的前缀路径 如 /web-inf/user/ -->
		<property name="suffix" value=".jsp"></property><!-- 跳转页面后缀 如 helloWorld.jsp-->
	</bean>

	<!-- 中文编码处理 -->
	<bean id="messageSource"
		class="org.springframework.context.support.ResourceBundleMessageSource"
		p:basename="i18n/messages" />

</beans>

   

3.log4j.properties文件

 

#log4j.rootLogger = [ level ] , appenderName, appenderName, ...
log4j.rootLogger = INFO, console, R
#level=INFO,all can be output
#console is set to be a ConsoleAppender
log4j.appender.console = org.apache.log4j.ConsoleAppender
#console have four patterns
#org.apache.log4j.HTMLLayout
#org.apache.log4j.PatternLayout
#org.apache.log4j.SimpleLayout
#org.apache.log4j.TTCCLayout
log4j.appender.console.layout = org.apache.log4j.PatternLayout
#define the output type
log4j.appender.console.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
#file is set to output to a extra file
log4j.appender.R = org.apache.log4j.RollingFileAppender
#the absolute route of the log4j file
log4j.appender.R.File=${webName.root}/WEB-INF/logs/log.log  
#the size
log4j.appender.R.MaxFileSize = 500KB
#back up a file
log4j.appender.R.MaxBackupIndex = 1
log4j.appender.R.layout = org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] - %m%n

 

4.helloWorld.jsp文件

 

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%><%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'helloWorld.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
    This is my helloWorld page. <br>
  </body>
</html>

 

5.浏览器访问如图所示,根据url跳转到所在action并转向到目标页面


HelloWorldController 跳转说明:

 

(1)使用无返回方法跳转,如果使用返回方法进行跳转的话,则会通过视图解析器进行以prefix(前缀)+方法名+suffix(后缀)组成的页面文件名称.这样的话可能需要用url writer框架进行重向地址更改,保证安全性。

 

(2)使用一个返回的字符串方法作为跳转,使用字符串跳转的话好处就是在return的时候可以自己指定返回的名字,JSP组成是prefix(前缀)+返回的字符串+suffix(后缀),这样的话跳转的时候外围广很多而且,安全性相对高点。

 

(3)返回一个ModelAndView类型,ModelAndView是spring2.5经常使用的方式,使用setViewName方法则可以跳转到指定的页面。

 

在类中还还发现一个Contorller的注解,该注解是用于把当前Java类变成一个Spring里面的一个beans,如果在Class 上面加入requestMapping的话,而在方法上还拥有requestMapping,则在浏览器输入的地址为http://访问地址:端口/contextroot/要调用类的requestMapping跳转值/该类中存在的requestMapping/,而在Class上标记了requestMapping的话,则需要在指定的位置创建一个文件夹作为存放.

 

 

 

本人开了个充值淘宝网店。有需要的朋友请访问的店铺并拍下所充值的话费,

本店已加入消费保障服务计划,货源来源于淘宝充值平台,安全可靠便捷,

支付过后立即到账

http://xiaowen168.taobao.com

 

 

 

 

  • 大小: 64 KB
  • 大小: 11.9 KB
  • 大小: 23.8 KB
  • 大小: 18.3 KB
分享到:
评论
2 楼 1094512300 2012-05-11  
jar包在哪里下载的啊。我找不到
1 楼 wuyechun 2011-05-25  
不错,学习了。

希望能以这样的方式,把spring的相关应用写上去。

相关推荐

    Spring3 MVC 学习笔记 入门

    ### Spring3 MVC 学习笔记入门知识点解析 #### 一、Spring MVC 概念与架构 **Spring MVC** 是 Spring Framework 的一个重要模块,主要用于构建基于 Web 的应用。它实现了 Model-View-Controller(MVC)设计模式,...

    基于注解的spring_3.0.x_MVC学习笔记

    在本篇基于注解的Spring 3.0.x MVC学习笔记中,我们将深入探讨Spring MVC在3.0版本中的变化,以及如何通过注解实现快速开发。Spring 3.0.x相较于2.5版本有着显著的改进,尤其在MVC模块上,提供了更加灵活和强大的...

    spring5mvc第一天【大纲笔记】.zip

    SpringMVC 是一款由 Spring 框架衍生出的用于构建 Web 应用程序的 Model-View-Controller(MVC)框架,它极大地简化了Java Web应用的开发。本大纲笔记将带你逐步深入理解SpringMVC的核心概念和使用方法。 一、...

    javaSpring学习笔记

    在“Java Spring学习笔记”中,你将找到对Spring框架的全面介绍,包括IoC(控制反转)和DI(依赖注入)原理、AOP(面向切面编程)、Spring MVC、Spring Boot等核心内容。每个主题都结合了理论知识和实际示例,帮助你...

    Spring+MVC+MYBatis企业应用实战

    《Spring+MVC+MYBatis企业应用实战》是一本深度解析如何在企业环境中整合并高效使用这三大Java技术的指南。Spring作为一款强大的轻量级框架,提供了依赖注入、AOP(面向切面编程)等功能,极大地简化了Java开发。而...

    spring mvc 入门demo

    有没有一开始搞spring mvc时,被搞得心态崩溃,这个就发生在了我身上;难得最后走通了,就自我记录备案,权当我的学习笔记了。除了弄一个mvc xml配置,后面还会弄一个纯java配置的mvc。下面是操作指南: ...

    spring入门笔记

    **Spring 框架概述** Spring 是一个开源的 Java 应用框架,它以其轻量级、模块化和面向切...希望这篇入门笔记能为你开启 Spring 的探索之旅,欢迎在学习过程中发现错误或有任何疑问时,通过博主的博客进行交流和指正。

    Spring&Mybatis&SpringMVC总结笔记-最全最基础.pdf

    本总结笔记是Spring、Mybatis、SpringMVC的综合学习资源,涵盖了这些框架的基本概念、配置方式、优点与适用场景,以及它们各自组件和功能点的详细解释。适用于初学者入门学习,同时也可以作为面试时的参考资料,帮助...

    Spring Boot 进阶笔记(详细全面) 中文PDF完整版.pdf

    Spring Boot 是一个由 Pivotal 团队开发的框架,旨在简化基于 Spring Framework 的应用程序的初始设置和开发过程。它的核心理念是“约定优于配置”,这意味着 Spring Boot 在默认情况下已经预设了很多常用的配置,...

    spring入门笔记源码

    这份"Spring 入门笔记源码"旨在帮助初学者快速掌握 Spring 的基本概念和使用方法。 首先,我们从"readme"开始,通常这是一个介绍性文档,可能包含了源码的结构、使用方法、注意事项等关键信息。在学习源码前,阅读 ...

    2小时学会Spring Boot 学习笔记.rar

    总结来说,"2小时学会Spring Boot 学习笔记"涵盖的内容广泛,从基础的Spring Boot入门到进阶的Spring Cloud应用。通过这个学习资源,初学者不仅可以了解这两个框架的基本概念,还能通过实践项目加深理解,掌握在...

    spring个人学习笔记

    Spring是一个全栈的Java/Java EE框架,它提供了从基础的IoC容器到高级应用如Spring MVC、Spring JDBC以及事务管理等全面的解决方案。IoC使得开发者能够将应用程序的控制权交由Spring管理,从而降低了组件之间的耦合...

    狂神Spring5视频MD笔记+源码.7z

    而"Spring学习笔记.md"和"Spring学习目录.md"则可能是作者观看视频后的学习记录,其中可能包含了对Spring关键概念、API使用方法的详细解释和示例,是学习Spring的宝贵资源。 "img"文件夹可能包含了一些图表或示意图...

    Spring.NET学习笔记 - 刘冬.NET - 博客园

    这个压缩包包含了一系列刘冬.NET在博客园上发布的Spring.NET学习笔记,帮助读者深入理解这个强大的框架。 1. **控制反转(IoC)**: 控制反转是Spring.NET的核心概念之一,它将对象的创建和管理权交给了框架,而...

    Spring 入门教程资料(源码源代码及课程笔记)

    6. **MVC 框架**:Spring MVC 是 Spring 用于构建 Web 应用的一个模块。学习如何创建控制器(Controller)、模型(Model)、视图(View)和视图解析器(ViewResolver),以及如何处理 HTTP 请求和响应,是 Web 开发...

    韩顺平java从入门到精通视频教程(全94讲)学习笔记整理(齐全).doc

    韩顺平 Java 从入门到精通视频教程学习笔记整理(齐全) 本文档是韩顺平 Java 从入门到精通视频教程的学习笔记整理,共 94 讲,涵盖 Java 基础知识、Java SE、Java EE、Java ME 等方向的内容。 Java 基础知识 1. ...

    Spring2.5、3.0、3.1轻松入门+中级+高级教程14合一

    - **基于注解的spring_3[1].0.x_MVC学习笔记**: 这份笔记将详细解释Spring 3.0.x版本中的注解驱动开发,包括依赖注入、AOP和数据绑定等。 - **Spring入门教程**: 这是Spring框架的基础教程,涵盖了Spring的核心概念...

    spring学习笔记

    标题“spring学习笔记”表明本文档是关于Spring框架学习的笔记。Spring是一个开源的Java平台,它最初由Rod Johnson创建,并且在此后的版本中不断地发展和演化。Spring的核心是一个轻量级的容器,它提供了依赖注入...

    spring,springMVC,mybatis学习资料(B站黑马总结)

    标签“SSM学习笔记”表明这份资料是关于Spring、SpringMVC和Mybatis组合的框架学习笔记。 在部分内容中,提到了Java编程语言中int和Integer的区别。简单来说,int是Java的基本数据类型,而Integer是int的封装类,...

Global site tag (gtag.js) - Google Analytics