`
萧_瑟
  • 浏览: 161253 次
社区版块
存档分类
最新评论

springMVC Demo

    博客分类:
  • java
阅读更多

项目目录结构图:


 

 

项目前需要用到的jar包


 

maven构建的项目下其pom.xml

 

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.royal</groupId>
  <artifactId>springMVCDemo</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>springMVCDemo</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    
    <!-- 需要用到的jar -->
    <dependency>
		<groupId>commons-logging</groupId>
		<artifactId>commons-logging</artifactId>
		<version>1.1.1</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-aop</artifactId>
		<version>3.1.0.RELEASE</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-asm</artifactId>
		<version>3.1.0.RELEASE</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-aspects</artifactId>
		<version>3.1.0.RELEASE</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-beans</artifactId>
		<version>3.1.0.RELEASE</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-context</artifactId>
		<version>3.1.0.RELEASE</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-context-support</artifactId>
		<version>3.1.0.RELEASE</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-core</artifactId>
		<version>3.1.0.RELEASE</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-expression</artifactId>
		<version>3.1.0.RELEASE</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-instrument</artifactId>
		<version>3.1.0.RELEASE</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-jdbc</artifactId>
		<version>3.1.0.RELEASE</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-jms</artifactId>
		<version>3.1.0.RELEASE</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-orm</artifactId>
		<version>3.1.0.RELEASE</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-oxm</artifactId>
		<version>3.1.0.RELEASE</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-test</artifactId>
		<version>3.1.0.RELEASE</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-tx</artifactId>
		<version>3.1.0.RELEASE</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-web</artifactId>
		<version>3.1.0.RELEASE</version>
	</dependency>
	<dependency> 
		<groupId>org.springframework</groupId>
		<artifactId>spring-webmvc</artifactId>
		<version>3.1.0.RELEASE</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-webmvc-portlet</artifactId>
		<version>3.1.0.RELEASE</version>  
	</dependency>
	<dependency>
		<groupId>org.apache.tomcat</groupId>
		<artifactId>jsp-api</artifactId>
		<version>6.0.35</version>  
	</dependency>
		
		
  </dependencies>
</project>
 

 

OK,需要的差不多就这样搭建吧。

 

 

下面开始核心demo。

 

 

建立web.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
	
    <servlet>
        <servlet-name>mvc-dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/spring-mvc.xml</param-value>
        </init-param>
    </servlet>
    
    <servlet-mapping>
        <servlet-name>mvc-dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  
<!--   <init-param>给DispatcherServlet指定了配置文件的路径,如果不配置<init-param>,默认路径是"/WEB-INF/+<servlet-name>+'-servlet.xml'" -->
</web-app>
 

建立spring-mvc.xml

 

<beans xmlns:context="http://www.springframework.org/schema/context"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://www.springframework.org/schema/beans"
    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" >
          
    <!-- 
    	第一个<bean>在spring 中配置了DemoController,name="/demo"的意思是,
   		我可以使用"http://localhost:8080/springMVCDemo/demo"来调用DemoController。
     --> 
    <bean name="/demo" class="com.royal.controller.DemoController" />

    <!--
    	第二个<bean>定义了视图处理器,在以上的配置完成以后,
    	我只需要在Controller类的方法里返回new ModelAndView("xxxx"),
    	spring 就会自动在"xxxx"前后加入前缀和后缀作为查找视图层文件的路径,
    	也就是"/jsp/pages/xxxx.jsp" 
     -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" >
        <property name="prefix" value="/jsp/pages/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
    
</beans>
 

 

DemoController.java

 

package com.royal.controller;

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

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

public class DemoController extends AbstractController {

	/**
	 * AbstractController是springmvc控制器抽象类,
	 * 我们自定义的控制器只要继承这个抽象类并实现handleRequestInternal()方法就可以实现最基本的处理和跳转了。
	 * 在spring3版本之前,继承AbstractController是要实现handleRequest()方法的, spring3以后,
	 * 在AbstractController的handleRequest()方法中调用了handleRequestInternal(),
	 * 改为由开发者自己实现handleRequestInternal()。
	 * 
	 * ModelAndView 是代表视图层和模型层的类,在我们的项目中一般就是指jsp文件。
	 */

	@Override
	protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception {
		
		//查找页面路径为/jsp/pages/demo.jsp,该路径看spring-mvc.xml文件定义
		return new ModelAndView("demo");
	}

}
 

然后别忘了放2个简单的jsp文件---index.jsp、demo.jsp.注意路径!

 

部署并运行服务器。

 

 

 

运行结果:

 

index.jsp 主页面


 

 

demo.jsp页面


 

我们还可以简化spring-mvc.xml这个配置文件,抽出Controller Bean.

 

第二种方法:

 

 

另新建 Demo2Controller.java 

 

package com.royal.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class Demo2Controller {
	
	@RequestMapping("/welcome")
	public String helloWorld(){
		return "hello";
	}

}
 

 

接着在spring-mvc.xml中加一句  <context:component-scan base-package="com.royal.controller"/>。表示去com.royal.controller包下(包括子包)查找所有的@controller

 

spring-mvc.xml

<beans xmlns:context="http://www.springframework.org/schema/context"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://www.springframework.org/schema/beans"
    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.royal.controller"/>
    
    <!-- 
    	第一个<bean>在spring 中配置了DemoController,name="/demo"的意思是,
   		我可以使用"http://localhost:8080/springMVCDemo/demo"来调用DemoController。
     --> 
    <bean name="/demo" class="com.royal.controller.DemoController" />

    <!--
    	第二个<bean>定义了视图处理器,在以上的配置完成以后,
    	我只需要在Controller类的方法里返回new ModelAndView("xxxx"),
    	spring 就会自动在"xxxx"前后加入前缀和后缀作为查找视图层文件的路径,
    	也就是"/jsp/pages/xxxx.jsp" 
     -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" >
        <property name="prefix" value="/jsp/pages/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
    
</beans>
 

 

 

最后在放一个hello.jsp文件 做测试看效果。

 

运行结果:


 

 

 

参考:http://www.cnblogs.com/zhangliang0115/archive/2012/02/22/2362463.html

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 大小: 18.4 KB
  • 大小: 22.1 KB
  • 大小: 13.3 KB
  • 大小: 15.3 KB
  • 大小: 15.3 KB
分享到:
评论

相关推荐

    SpringMVC demo 完整源码实例下载

    在这个"SpringMVC demo 完整源码实例下载"中,我们能够深入理解并学习SpringMVC的核心概念和实际应用。 首先,SpringMVC是Spring框架的一部分,它通过Model-View-Controller(MVC)设计模式来分离应用程序的业务...

    SpringMVC Demo_java_springmvc_DEMO_

    这个名为"SpringMVC Demo_java_springmvc_DEMO_"的项目是一个演示示例,旨在展示如何在Java项目中集成和使用SpringMVC。通过这个项目,我们可以学习到以下关键知识点: 1. **环境配置**:首先,我们需要一个Java...

    SpringMVC demo 完整源码实例下载.zip

    在这个"SpringMVC demo 完整源码实例下载.zip"压缩包中,我们可以深入学习和理解SpringMVC的各种核心特性和实际应用。 首先,SpringMVC通过DispatcherServlet作为前端控制器,它负责接收HTTP请求,并根据请求的URL...

    springmvc demo

    Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发...

    SpringMVC demo

    在这个"SpringMVC demo"项目中,我们将探讨如何利用 Maven 和 SpringMVC 实现一个博客和用户管理系统。 **1. Maven 的作用与配置** Maven 是一个项目管理和综合工具,它通过统一的构建过程简化了项目的依赖管理。...

    demo_SpringMVC.rar_+SpringMVC demo_DEMO_spring mvc_spring mvc de

    本示例项目 "demo_SpringMVC" 提供了一个基础的 Spring MVC 示例,旨在帮助开发者了解和学习如何使用该框架进行开发。 在 Spring MVC 中,`Model` 负责存储数据,`View` 负责渲染数据,而 `Controller` 则是处理...

    maven项目springMVC demo

    【标题】"maven项目springMVC demo"是一个基于Java技术栈的Web应用程序示例,主要使用了Maven作为构建工具,SpringMVC作为控制器框架,以实现后端业务逻辑和视图的分离。该项目旨在展示如何在实际开发环境中整合这些...

    springMVC demo +jar包

    这个"springMVC demo +jar包"资源包含了一个Spring MVC的小型示例项目和必要的jar包,帮助初学者理解和实践Spring MVC框架的使用。 首先,让我们详细了解一下Spring MVC的核心概念: 1. **DispatcherServlet**:这...

    intellij maven springmvc demo

    在"intellij maven springmvc demo"项目中,我们将探讨如何在IntelliJ IDEA这个强大的Java IDE中,利用Maven和SpringMVC进行项目配置和开发。 **1. 创建SpringMVC项目** 首先,我们需要在IntelliJ IDEA中创建一个...

    java微信公众号上传下载图片,springmvc demo

    1、本项目适合学习springmvc学者(springmvc demo), url(http://localhost:8082/com.demo.weixin/HelloWorld/index.html) 2、本项目适合学习微信开发 (微信接入,上传及下载临时素材文件,微信jssdk图片...

    demo.rar_DEMO_ShoppingCarPriKey_springmvc_springmvc demo

    【标题】"demo.rar_DEMO_ShoppingCarPriKey_springmvc_springmvc demo" 提供的信息表明这是一个关于Spring MVC框架的示例项目,其中可能包含了购物车私钥(ShoppingCarPriKey)的功能,并且可能使用了Spring和...

    SpringMVC demo 完整源码实例.zip

    通过深入研究这个SpringMVC demo,你可以学习到如何构建一个完整的Web应用,理解各组件之间的协作机制,这对于提升SpringMVC的使用技巧和解决实际问题具有极大的帮助。同时,这也是一个很好的实践项目,有助于巩固...

    restful webservice in springMVC Demo

    这篇博客"restful webservice in springMVC Demo"旨在展示如何在Spring MVC中创建RESTful Web服务,并通过客户端进行调用。 首先,我们要理解REST(Representational State Transfer,表述性状态转移)的基本概念。...

    springMvc demo

    本项目 "springMvc demo" 是一个基础的 Spring MVC 应用示例,旨在帮助初学者了解如何配置和使用该框架。 首先,我们来探讨一下核心组件: 1. **web.xml**:这是部署描述符,定义了应用的入口点,以及Servlet和...

    SpringMVC Demo

    在"SpringMVC Demo"这个项目中,你下载的是一个已经准备好的示例工程,导入后可以直接运行体验SpringMVC的功能。这个项目可能是包含了所有必要的配置文件、源代码和资源,以便于快速理解和学习SpringMVC的工作原理。...

    SpringMvc Demo (maven)

    在本项目"SpringMvc Demo (maven)"中,开发人员使用了Maven作为构建工具,Eclipse作为IDE,Tomcat 9作为应用服务器,以及JDK 1.8作为Java运行环境。这个小Demo实现了基本的用户登录功能以及数据操作的增删改查功能,...

    mina+springmvc demo

    标题"Mina+SpringMVC Demo"揭示了一个集成项目,它结合了Apache Mina与Spring MVC框架,用于构建网络通信和Web应用。Apache Mina是一个高度可扩展的网络通信框架,适用于TCP/IP和UDP/IP协议,而Spring MVC是Spring...

    springmvc demo可运行

    在本示例中,"springmvc demo 可运行" 提供了一个基础的 Spring MVC 项目,可以帮助开发者快速理解和上手该框架。 首先,我们来看看 Spring MVC 的基本架构: 1. **DispatcherServlet**:这是 Spring MVC 的核心...

Global site tag (gtag.js) - Google Analytics