`
lgywindows
  • 浏览: 9987 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

SpringMVC的最简应用

 
阅读更多
SpringMVC的最简应用

目前用SpringMVC越来越流行,个人所在的公司也是用Spring+Hibernate框架作开发,故作此简易实例以资自勉。如果读者阅读本文费力,建议先学java的基础部分,而不必浪费时间在此处。如果读者是专业达人就请多多指教。

Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。
Spring MVC框架的优点:简单就是美,强大不失灵活,性能也很优秀。

Spring和struts,hibernate组成mvc的三大框架,也就是大家所说的ssh框架。本例只介绍Spring。

本例是SpringMVC的入门演练。
首先提及一下Spring的正式下载地址:http://www.springsource.org/download/
最好选择带文档的版本下载。本例使用的是3.1的release版本。
本实例中还有两个架包将在附件中提供。

面对框架的第一个问题是导入架包。
1本实例需要导入的架包有:
org.springframework.asm-3.1.1.RELEASE.jar
org.springframework.beans-3.1.1.RELEASE.jar
org.springframework.context-3.1.1.RELEASE.jar
org.springframework.core-3.1.1.RELEASE.jar
org.springframework.expression-3.1.1.RELEASE.jar
org.springframework.web-3.1.1.RELEASE.jar
org.springframework.web.servlet-3.1.1.RELEASE.jar
commons-logging-1.0.4.jar
jstl.jar
附加简略说明:最后两个架包不是Spring框架中的架包。

2本实例需要在web.xml进行合理配置。
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	id="WebApp_ID" version="2.5">
	<display-name>mvc</display-name>
	<filter>
		<!-- Spring的编码过滤 -->
		<filter-name>encodingFilter</filter-name>
		<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
		<init-param>
			<param-name>encoding</param-name>
			<param-value>GBK</param-value>
		</init-param>
		<init-param>
			<param-name>forceEncoding</param-name>
			<param-value>true</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>encodingFilter</filter-name>
		<url-pattern>*.do</url-pattern>
	</filter-mapping>
	<!-- SpringMVC的设置 -->
	<servlet>
		<servlet-name>SpringMVC</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>classpath*:/springMVC.xml</param-value>
		</init-param>
		<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.html</welcome-file>
		<welcome-file>index.htm</welcome-file>
		<welcome-file>index.jsp</welcome-file>
		<welcome-file>default.html</welcome-file>
		<welcome-file>default.htm</welcome-file>
		<welcome-file>default.jsp</welcome-file>
	</welcome-file-list>
</web-app>

附加简略说明:web.xml文件先作了编码过滤器的设置,后作了SpringMVC的设置。
请注意<param-value>classpath*:/springMVC.xml</param-value>的意思是在编绎目录下放置SpringMVC所需要的配置文件。

3在src目录下新建springMVC.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="com.mvc" ></context:component-scan>  
<!-- 视图解释类 -->  
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
	<property name="prefix" value="/WEB-INF/jsp/"/> <!--路径前缀-->
	<property name="suffix" value=".jsp"/><!--路径后缀可为空,方便实现自已的依据扩展名来选择视图解释类的逻辑  -->  
	<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />  
</bean>
</beans>

附加简略说明:请注意<property name="prefix" value="/WEB-INF/jsp/"/>的配置是一种出于安全性考虑的jsp路径配置。在WebContent目录下的jsp都是可以被直接访问的。而目录/WebContent/WEB-INF/是不能被直接访问的。所以在/WebContent/WEB-INF/目录下手工新建工作目录,再使用配置指向新建工作目录。

4 在/WebContent/目录下新建index.jsp文件。如果是使用MyElicpse开发则在建立Web项目时默认已经添加。添加代码如下:
<%@ page language="java" contentType="text/html; charset=gbk" pageEncoding="gbk"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
<title>SpringMVC演示</title>
</head>
<body>
SpringMVC演示<br/>
将文本框的内容输入至后台处理再返回其处理结果返回到jsp文件夹中的return.jsp页面中<br/>
<form action="login.do" method="post">
	<input type="text" id="text1" name="var" />
	<input type="submit" value="提交"/>
</form>
<a href="login.do?var=中文参数请求">后台请求</a>
</body>
</html>

附加简略说明:本页面上有种请求方式:POST和GET。
由GET方式的提交导致的中文乱码问题需要在tomcat的conf文件夹下的server.xml文件中,更改端口的节点,添加属性URIEncoding="utf-8"
而由POST方式的提交导致的中文乱码问题可以由Spring编码过滤器解决(web.xml已经完成这项配置)。

5 在src中新建包名com.demo.controller,再在此包中新建LoginCtroller类。添加代码如下:
package com.mvc.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class LoginCtroller {
	@RequestMapping("/login")//通过注释完成Spring的配置 请注意里面的参数"/login"对应前台页面的请求URI
	public String login(HttpServletRequest request,HttpServletResponse response){
		String var = (String)request.getParameter("var");
		System.out.println("从前台得到的值:"+var);
		request.setAttribute("msg", "从后台发来的测试数据=>"+var);
		//返回WebContent/WEB-INF/jsp/return.jsp页面 请参照springMVC.xml的配置来理解
		return "return";
	}
}

附加简略说明:后台处理有很多种变化。本例演示的是比较实用的写法。

6 再在/jsp/目录中新建return.jsp文件,添加代码如下:
<%@ page language="java" contentType="text/html; charset=gbk" pageEncoding="gbk"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
<title>返回后台处理的结果</title>
<script type="text/javascript" src="./ref/jquery-1.7.2.js"></script>
</head>
<body>
返回后台处理的结果<br/>
${msg}
</body>
</html>

附加简略说明:返回页面

总结:本实例的演示如有疏漏可以从附件中下载演示项目来运行。源代码是GBK格式编码。
如果没有相关的srping编写经验,建议你从本页附件下载实例来学习和研究。
这种代码的编写方式意味着程序员在编写代码的时候不需要专注于配置xml文件,从而在一定程度上提高开发效率。

  • mvc.rar (2.7 MB)
  • 下载次数: 15
分享到:
评论

相关推荐

    springmvc注解简单实例

    在这个"springmvc注解简单实例"中,我们将深入探讨Spring MVC中的一些关键注解,以及它们在DAO层、Service层和Controller层中的应用。让我们逐一解析这些层面的注解使用。 首先,我们来到**DAO层**。在Spring MVC中...

    一个springMVC的简单应用

    实现页面的控制输出,前后台的参数传递,所有请求都亲自测试过,用maven导入,如果无法导入,需要再eclipse中help中 install new software中安装MavenArchiver后才行

    springmvc框架的简单应用

    SpringMVC 框架是 Java Web 开发中广泛使用的轻量级框架,它提供了模型-视图-控制器(MVC)模式的实现,帮助开发者更有效地组织和管理应用程序的业务逻辑、数据处理以及用户界面。这篇教程将带你了解 SpringMVC 的...

    springmvc4简单例子

    Spring MVC 是一个基于Java的轻量级Web应用框架,它为构建模型-视图-控制器(MVC)架构的应用程序提供了强大的支持。Spring MVC 4是该框架的一个版本,它在Spring 3.x的基础上增加了更多特性,提高了性能,并且与...

    SpringMVC框架简单实现

    SpringMVC是Spring框架的一部分,专门用于构建Web应用程序。它是一个模型-视图-控制器(MVC)架构的实现,提供了处理HTTP请求、数据绑定、验证、异常处理等功能,极大地简化了Java Web开发。在本项目中,"panda-...

    SpringMVC简单源码实现

    SpringMVC是Spring框架的一个重要组成部分,主要用于构建Web应用程序的后端控制器。在这个"SpringMVC简单源码实现"中,我们将会深入探讨SpringMVC的核心机制,包括请求处理、模型视图解析以及依赖注入等方面。 1. *...

    springmvc简单完整例子

    在这个“springmvc简单完整例子”中,我们将深入探讨Spring MVC的核心概念和技术细节。 1. **配置**: - **web.xml**: 这是Web应用程序的部署描述符,用于配置前端控制器`DispatcherServlet`。它将所有HTTP请求...

    SpringMVC的代码简单实现

    SpringMVC是Spring框架的一部分,专门用于处理Web应用程序的请求-响应模型。在这个简单的实现中,我们将探讨如何利用元注解和反射技术来构建类似SpringMVC的核心功能。元注解是在其他注解上使用的注解,而反射则是...

    springMVC activemq简单聊天室

    在IT行业中,SpringMVC和ActiveMQ是两个非常重要的组件,它们在构建高效、可扩展的应用程序中扮演着关键角色。本项目“springMVC activemq简单聊天室”结合了这两个技术,创建了一个基本的在线聊天应用。下面将详细...

    Spring SpringMVC Hibernate简单登录

    Spring是一个全面的后端应用程序框架,SpringMVC是Spring的一部分,专门用于处理Web层的请求,而Hibernate则是一个强大的对象关系映射(ORM)框架,负责数据库交互。以下是对这些框架以及"Spring SpringMVC ...

    SpringMVC实现简单登录配置

    SpringMVC是Spring框架的一个组件,主要用于构建Web应用程序,提供模型-视图-控制器(MVC)架构支持。它使得开发者能够更方便地处理HTTP请求、响应以及数据绑定。 ### 1. SpringMVC 概述 SpringMVC是Spring框架的...

    springmvc工程简单模板

    Spring MVC 是一个基于 Java 的轻量级 Web 开发框架,它是 Spring 框架的一...通过学习和实践这个"springmvc工程简单模板",开发者可以迅速掌握 Spring MVC 的基本用法,为进一步深入学习和开发复杂 Web 应用奠定基础。

    springmvc 简单架构代码

    SpringMVC 是一款基于 Java 的轻量级 Web 开发框架,是 Spring 框架的一部分,主要用于构建 MVC(Model-View-Controller)模式的应用。它为开发者提供了强大的控制层组件,使得开发、测试和维护 Web 应用变得更加...

    springmvc简单的登陆

    Spring MVC 是一个基于 Java 的轻量级 Web 开发框架,它是 Spring 框架的一部分,主要用于构建 MVC(Model-View-Controller)模式的 Web 应用程序。在本项目"springmvc简单的登陆"中,我们将探讨如何使用 Spring MVC...

    springmvc框架的用户登录注册的简单实现

    Spring MVC 是一个基于 Java 的轻量级 Web 开发框架,它是 Spring 框架的一部分,主要用于构建 MVC(Model-View-Controller)模式的 Web 应用程序。在本例中,"springmvc框架的用户登录注册的简单实现"提供了一个...

    SpringMvc 二维码简易实现Dome

    通过这个“SpringMvc 二维码简易实现Dome”项目,我们可以学习到如何在Spring MVC环境中集成二维码生成服务,这有助于提升我们的Web开发技能,特别是在构建交互式和数据驱动的应用程序时。同时,了解和掌握这些知识...

    springMVC简单demo

    SpringMVC是一个基于Java的轻量级Web应用框架,它为构建模型-视图-控制器(MVC)架构的应用程序提供了强大的支持。这个"springMVC简单demo"压缩包文件显然是为了帮助初学者理解并实践SpringMVC的基本用法。让我们...

    SpringMVC最简单例子

    SpringMVC是Spring框架的...这个最简单的SpringMVC例子展示了如何快速搭建一个基础的Web应用。随着对SpringMVC理解的深入,你可以逐步添加更多复杂的功能,如数据持久化、表单验证、异常处理等,以满足实际项目的需求。

Global site tag (gtag.js) - Google Analytics