`
lgywindows
  • 浏览: 9348 次
  • 性别: 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框架的简单应用,供初学者用来学习。里面的基础知识只是最初版本。

    一个springMVC的简单应用

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

    springMVC简单例子.zip

    示例是很有用的,这里列举的是非常简单的小java项目。应用了spring mvc,学习本项目可以了解前怎么调用的后端?后端怎么提供的接口?怎么增加的依赖等。 教程见:https://www.cnblogs.com/daguozb/p/12491310.html

    SpringMVC + mybatis + mysql简单应用

    SpringMVC + mybatis + mysql简单应用

    SpringMVC简单应用

    SpringMVC配置步骤 一、 基本配置 1. 创建java(或java web)工程 2. 导入jar包 3. 配置xml文件 4. 编写Controller 5. 编写页面demoInfo.jsp 6. 发布访问 二、 使用注解配置Service/DAO 1. 导入jar包 2. 配置xml...

    SpringMVC简易员工管理演示系统(J2EE版)

    该演示系统应用了SpringMVC、JQuery、Hibernate-Validator、Interceptor、Object Converter、DIV+CSS3、JSON、Interceptor等主流技术,另外借助了Map、List、文本文件等数据存储器。

    springmvc代码实例(简单说明)

    基于注解的SpringMVC模式的代码DOC讲解实例,具体看自己的应用

    springmvc+mybatis+maven完整项目代码

    springmvc+mybatis+maven完整项目代码,麻雀虽小,五脏俱全。该项目可以说是当前目前最主流,性价比最好的web框架了,也就是SSM框,下载后可直接导入eclipse运行,代码中还包含了mybatis自动生成配置文件。珍藏,忍痛...

    springmvc+websocket整合

    springmvc+websocket整合,搭建一个简单的在线及时聊天应用

    springmvc_mybatis框架web

    springmvc,mybatis框架的简单web应用

    SpringMVC简易教程

    书中包括的技巧和提示...书中包含了一些开发良好设计和解耦的Web 应用程序的最佳实践,介绍了Spring 框架中的Spring MVC 和Spring Web Flow,以及着重介绍利用Spring 框架和Spring MVC 编写Web 应用程序的最佳方法。

    基于B/S架构,采用springMVC3框架的简单交易管理系统

    基于B/S架构,采用springMVC3框架的简单交易管理系统。 实现: 1、基本的用户用户管理 2、用户登记交易,交易修改,交易结束(PS:实际就是数据库存的四在操作) 目的: 1、熟悉spirngMVC的框架搭建,前端相传参,...

    springMVC jQuery ajax交互

    springMVC jQuery ajax交互的简单的应用,一个可以参照的文件

    Ueditor与jsp、SpringMVC整合,结合文档使用

    这里我只讲解jsp版本的,与servlet和SpringMVC整合,两种方式的应用。这里提供了纯servlet使用的代码,可以完成一个简单的新闻发布系统,做的比较简单,但是代码写的很详细,根据你自己的需求可以补充的。如果想和...

    简单配置 shiro + spring +springMVC+hibernate简单框架

    SpringMVC整合Shiro,Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能。 配置applicationContext-shiro.xml 1. 配置authorizingRealm 2.Shiro Filter 设置拦截的内容和登录页面和...

    Maven+SpringMVC+Dubbo 简单的入门微服务配置 源码

    此源码是基于maven模块架构,SpringMVC,以及dubbo应用系统

    springmvc demo

    应用控制器其实拆为处理器映射器(Handler Mapping)进行处理器管理和视图解析器(View Resolver)进行视图管理;页面控制器/动作/处理器为Controller接口(仅包含ModelAndView handleRequest(request, response) 方法)...

    springmvc与maven的简单例子

    没什么实际应用,只是看一下结构而已,算是最简单的了

    简单spring mvc应用

    主要是对java spring,spring mvc等知识链条学习归纳,实现了前端jsp和后端spring交互的简单mvc应用,项目已经实现拦截器、过滤器和监听器,数据CURD简单操作,附mysql包。环境:开发工具-idea,mysql + java13 + ...

Global site tag (gtag.js) - Google Analytics