`
zhoujiangzi
  • 浏览: 93353 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Spring MVC(1)

阅读更多

Spring不仅可以集成第三方web框架,同时自己也提供了一套web框架作为使用,今天就先来看下如何搭建一个简单的基于spring MVC的wenb项目

1. 准备jar

    可以直接将spring下载的jar都丢入进去,具体可以查看截图信息

   

   项目结构:

   

 2.配置springConfig.xml文件

   我将该文件存放在WEB-INF/config目录下面,该目录主要用来存储配置文件信息

  

<?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:context="http://www.springframework.org/schema/context"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:tx="http://www.springframework.org/schema/tx"
	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
						http://www.springframework.org/schema/aop
						http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
						http://www.springframework.org/schema/tx
						http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
	
	<!-- 将请求的url和bean映射起来,如访问springMVC/login,那么spring配置文件中需要有个login的bean来与之对应 -->
	<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
	
	<!-- 选择适配器,所有实现Controller的bean都可以用来处理请求 -->
	<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
	
	<!-- 配置视图,包括路径,后缀等信息 -->
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB-INF/jsp/"/>
		<property name="suffix" value=".jsp"/>
	</bean>
	
	<bean name="/test.do" class="com.jacksoft.spring.mvc.controller.TestController"/>
</beans>

    主要有3个配置,HandlerMapping,HandlerAdapter和ViewResolver

    HandlerMapping:主要是将请求的url与我们创建的controller映射起来,如访问/test.do ,那么spring中需要有个/test.do的bean来与之对应起来

   HandlerAdapter:选择简单适配器,将请求发送给我们的controller处理

   ViewResolver:配置jsp视图解析

 

   最下面的bean就是与请求的url :test.do进行映射,当访问test.do时,那么实际上会进入到TestController进行处理。

 

3.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">

	<servlet>
		<servlet-name>spring</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<description>spring-servlet.xml</description>
			<param-name>contextConfigLocation</param-name>
			<param-value>WEB-INF/config/springConfig.xml</param-value>
		</init-param>
		<load-on-startup>0</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>spring</servlet-name>
		<url-pattern>*.do</url-pattern>
	</servlet-mapping>
</web-app>

    spring是通过org.springframework.web.servlet.DispatcherServlet来进行分发客户端请求的,因此我们需要拦截所以的.do的访问,然后根据bean的配置进行分发处理

   这里如果不加contextConfigLocation这个参数,那么系统会默认到WEB-INF下面查找spring-servlet.xml

即[servlet-name]-servlet.xml

 

4.编写TestController

   我们的controller需要实现org.springframework.web.servlet.mvc.Controller,并且在handleRequest方法中进行数据处理。

package com.jacksoft.spring.mvc.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

public class TestController implements Controller {

	public ModelAndView handleRequest(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		ModelAndView mv = new ModelAndView();
		mv.setViewName("test");
		mv.addObject("msg", "SUCCESS!!");
		System.out.println("-------------TestController处理请求---------------------");
		return mv;
	}

}

   其中mv.setViewName是设置视图名称,也就是返回的jsp页面

 

5. 编写test.jsp

     由于前面配置前缀是/WEB-INF/JSP/ ,所以我们的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>Insert title here</title>
</head>
<body>
Hello ,Spring MVC<br>
${msg}
</body>
</html>

 

6.访问

  地址栏输入http://localhost:8080/springMVC/test.do,能进行正常访问,页面输出:

Hello ,Spring MVC
SUCCESS!!

   表示配置成功!

 

注意

当我们在配置DispatcherServlet分发时,对url-pattern最好不要直接写成这样:

	<servlet-mapping>
		<servlet-name>spring</servlet-name>
		<url-pattern>/*</url-pattern>
	</servlet-mapping>

 因为这样是拦截所有,当controller返回视图时,spring又把返回的路径作为请求进行拦截,所以就可能会出现下面的错误:

警告: No mapping found for HTTP request with URI [/springMVC/WEB-INF/jsp/test.jsp] in DispatcherServlet with name 'spring'

 

  • 大小: 93.6 KB
  • 大小: 30.6 KB
分享到:
评论

相关推荐

    Spring MVC 1 资源文件

    这个"Spring MVC 1 资源文件"可能包含了这些概念的详细解释、实例代码以及配置示例,帮助开发者更好地理解和使用 Spring MVC 框架。如果你在学习或使用 Spring MVC 过程中遇到问题,这些资源将会是宝贵的参考资料。

    25号05: Spring MVC1课堂内容

    在"25号05:Spring MVC1课堂内容"中,我们可以推测这是一个教学资源,涵盖了Spring MVC的基础到进阶知识,可能包括了从版本v01到v02的更新内容,特别是针对测试类的优化和使用。 1. **Spring MVC 概述**: Spring ...

    精通Spring MVC 4

    Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。Spring MVC4是当前zuixin的版本,在众多特性上有了进一步的提升。, 在精通Spring...

    Spring MVC jar包

    1. **Spring MVC**: - **基本概念**:Spring MVC提供了一个灵活的MVC实现,包括请求映射、视图解析、模型绑定等功能。它通过DispatcherServlet作为前端控制器,负责接收请求并分发到相应的处理器。 - **组件**:...

    最全最经典spring-mvc教程

    Spring MVC 是一款强大的Java Web开发框架,用于构建高效、可维护和模块化的Web应用程序。它作为Spring框架的一部分,提供了一种优雅的方式来处理HTTP请求和响应,使得开发者可以专注于业务逻辑而不是底层实现。在这...

    Spring MVC 4.2.3

    Spring MVC是Spring框架的一个核心模块,专为构建Web应用程序而设计。它提供了模型-视图-控制器(MVC)架构,使开发者能够有效地分离业务逻辑、数据处理和用户界面。在"Spring MVC 4.2.3"版本中,我们看到了一系列的...

    Spring.MVC-A.Tutorial-Spring.MVC学习指南 高清可复制版PDF

    Spring MVC 是一个基于Java的轻量级Web应用框架,它是Spring框架的重要组成部分,主要用于构建Web应用程序的后端控制器。这个教程“Spring MVC - A Tutorial”旨在帮助开发者深入理解和掌握Spring MVC的核心概念和...

    spring mvc 4.0

    1. **依赖注入**:Spring MVC 4.0继续支持Spring框架的核心功能,依赖注入(DI),允许开发者通过配置来管理对象及其依赖关系,降低了代码耦合度,提高了可测试性。 2. **ModelAndView对象**:在处理完请求后,控制...

    Mastering Spring MVC 4(2015.09)源码

    Spring MVC 是一个强大的Java Web开发框架,它是Spring框架的一部分,专为构建高度可扩展和模块化的Web应用程序而设计。在2015年的版本中,Spring MVC 4已经相当成熟,提供了许多特性来简化开发流程并提高开发效率。...

    Spring MVC + Mybatis+Spring实现的个人博客系统

    这是一个基于Spring MVC、Mybatis和Spring框架实现的个人博客系统,涵盖了Web开发中的后端架构设计、数据库管理和前端展示等多个方面。以下将详细介绍这个系统的关键知识点: **1. Spring MVC** Spring MVC是Spring...

    Spring MVC所需jar包

    1. **Spring 框架核心库**:这是 Spring MVC 的基础,它包含了 IoC(Inversion of Control,控制反转)和 AOP(Aspect Oriented Programming,面向切面编程)的核心概念。主要的 jar 包有 `spring-core.jar`、`...

    spring mvc框架依赖全面jar

    Spring MVC 是一个基于 Java 的轻量级Web应用框架,它为构建模型-视图-控制器(MVC)架构的应用程序提供了强大的支持。在本压缩包中包含了一系列与Spring MVC相关的jar文件,这些文件是构建和运行Spring MVC项目所...

    Spring MVC 教程快速入门 深入分析

    Spring MVC是一种基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,使用了IoC容器,支持RESTful风格的应用程序开发。Spring MVC通过分离模型(Model)、视图(View)和控制器(Controller)来简化Web开发...

    Spring MVC使用Demo

    Spring MVC是Spring框架的一个核心模块,专用于构建Web应用程序。这个"Spring MVC使用Demo"提供了实践操作,帮助开发者深入理解Spring MVC的开发环境配置、注解的使用以及工作原理。 首先,Spring MVC的设计模式...

    spring MVC .docx

    1. **DispatcherServlet**: 它是Spring MVC的入口点,负责接收HTTP请求,并根据请求信息找到合适的处理器(Handler)进行处理。DispatcherServlet通过`web.xml`配置文件或Java配置类进行初始化配置。 2. **...

    基本的spring mvc + spring security实现的登录(无数据库)

    1. **Spring MVC**: - **核心组件**:DispatcherServlet负责接收请求并分发到相应的控制器(Controller),ModelAndView用于封装模型数据和视图,ViewResolver解析视图。 - **配置**:通常通过Java配置或XML配置...

    Spring mvc 教程

    ### Spring MVC 教程知识点详解 #### Spring Web MVC 框架简介 Spring Web MVC 是 Spring Framework 的一个重要组成部分,主要用于构建基于 Java 的 Web 应用程序。它提供了一个灵活且强大的 MVC 实现,使得开发者...

Global site tag (gtag.js) - Google Analytics