`

Spring框架MVC之初体验

阅读更多
学习Spring的MVC,个人感觉非常好。

Spring中的JAR介绍一下。

Jar 介绍                          依赖
spring-core 核心类库,包含抽象类的工具包.源码级数据支持. comms-logging
spring-beans JavaBean支持,以及Bean容器的提供. spring-core
spring-contexts AppclicationContext,验证,JNDI,JMX,远程处理等 spring-beans
spring-web WEBApplicationConxtext基于HTTP协议的远程支持 spring-contexts
spring--webmvc servlet,Web MVC框架,webController,WebView spring-web

如果你细心的话,你会发现几乎任何框架都需要用到了comms-logging.jar。为什么?请你自己去查文档。

Spirng MVC模式的三要素:Controller类,View类,ModelAndView类。

Controller类

简介:Spring MVC 将所有的HTTP请求交给Controller处理。Controller很像一个servelt,它以映射一个或多个请求并构建成以HttpServletRequest,和HttpServletResponse为参数的对象配合使用。Controller作为一个单列,就是说可以处理并发的请求。

功能:无工作流的简单请求处理。

         用于处理完成XHTML表单生命周期的表单控制器。

         向导控制器,提供多页面的工作流程。

         类似Webwork的一次性控制器。

View类

Spring的视图呈现技术,包括很多技术的支持有:JSP,JSTL,Velocity,Pdf,Excel等,看到没多强大。Controller不用知道视图技术,只管处理请求等业务逻辑。因为这样可以有助于保证低耦合。

ModeAndView类

这个类的作用根据Spirngmvc-API文档,其实理解起来很简单,就是你处理请求完毕时,由Controller来构建对象集合,这些对象用来组成响应给客户端的模型。

先整个例子:

从文档上看,虽然可以直接实现Controller接口,但是有一个更好的实现类AbstractController。
提供了更多的web请求功能。
首先是配置前端的控制器DispatcherServlet,将由Controller返回的ModeAndVi
ew传送到设定好的视图ViewResolver.
web.xml
<display-name>Spring App Examples</display-name> 
<servlet>
  <servlet-name>spring</servlet-name>
  <servlet-calss>org.springframework.web.servlet.DispatcherServlet</servlet>
</servlet>

<servlet-mapping>
   <servlet-name>hello</servlet-name> 
    <url-pattern>*.do</url-pattern> 
</servlet-mapping>

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" "http://www.springframework.org/dtd/spring-beans.dtd"> 
<beans> 
    <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> 
        <property name="mappings"> 
            <props> 
                <prop key="/hellouser.do">helloUserAction</prop> 
            </props> 
        </property> 
    </bean> 
    //对于jsp或servlet用该类即可。
org.springframework.web.servlet.view.InternalResourceView
    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
        <property name="viewClass"> 
            <value>org.springframework.web.servlet.view.InternalResourceView</value> 
        </property> 
    </bean> 
    //DispatcherServlet把请求handler的映射交給HandlerMapping的实现类
    <bean id="helloUserAction" class="com.baidu.HelloUserAction"> 
        <property name="helloWord"> 
            <value>Hello!</value> 
        </property> 
        <property name="viewPage"> 
            <value>/WEB-INF/jsp/hellouser.jsp</value> 
        </property> 
    </bean> 
</beans>

HelloUserAction.java
import java.io.IOException; 
import java.util.*; 
import javax.servlet.*; 
import javax.servlet.http.*; 
import org.springframework.web.servlet.mvc.Controller; 
import org.springframework.web.servlet.ModelAndView; 
import org.springframework.web.bind.RequestUtils; 

public class HelloUserAction extends AbstaractController { 
   private String helloWord; 
    private String viewPage; 
    
   public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse res) 
        throws ServletException, IOException { 
      String user = RequestUtils.getRequiredStringParameter(req, "user"); 
      Map model = new HashMap(); 
      model.put("helloWord", getHelloWord()); 
      model.put("user", user); 
    
       return new ModelAndView(getViewPage(), model); 
    } 
    
    public void setViewPage(String viewPage) { 
       this.viewPage = viewPage; 
    } 
    
    public String getViewPage() { 
       return viewPage; 
    } 

    public void setHelloWord(String helloWord) { 
       this.helloWord = helloWord; 
    } 
    
    public String getHelloWord() { 
       return helloWord; 
    } 
}
hellouser.jsp
<html> 
<head><title>HelloPage</title></head> 
<body> 
    <H1> ${helloWord}, ${user}!!</H2> 
</body> 
</html>
<html> 
<head><title>HelloPage</title></head> 
<body> 
    <H1> ${helloWord}, ${user}!!</H2> 
</body> 
</html>
http://localhost:8080/springapp/hellouser.do?user=Justin
<html> 
<head><title>HelloPage</title></head> 
<body> 
    <H1> Hello!, Justin!!</H2> 
</body> 
</html>

 

 

 

分享到:
评论

相关推荐

    spring3MVC 框架demo

    Spring3MVC是Spring框架的一个重要模块,专为构建Web应用程序提供模型-视图-控制器(MVC)架构支持。这个框架使得开发者可以更轻松地处理HTTP请求、数据绑定、验证以及视图渲染等任务。在"spring3MVC框架demo"中,...

    spring-mvc-demo

    【Spring MVC 框架详解】 Spring MVC 是 Spring 框架的一部分,它是一个轻量级的、基于模型-视图-控制器(MVC)设计模式的 Web 应用开发框架。Spring MVC 提供了丰富的功能,使得开发者可以快速、高效地构建高质量...

    基于spring-MVC的在线测试系统(客观题)

    Spring-MVC是Spring框架的一部分,它提供了模型-视图-控制器(MVC)的设计模式,使得开发人员能够更有效地构建Web应用程序。 1. **Spring-MVC框架** Spring-MVC是Java Web开发中的一个核心组件,它简化了处理HTTP...

    spring、 spring mvc、 mybatis 开发的java客户关系管理系统,前端采用easyui编写.zip

    2. Spring MVC:作为Spring框架的一部分,Spring MVC是用于构建Web应用程序的模型-视图-控制器(MVC)架构。在CRM系统中,Spring MVC负责处理HTTP请求,将数据绑定到模型对象,调用业务逻辑,最后将结果呈现给用户。...

    Spring MVC所需jar包

    8. **Dojo 或 jQuery**:如果在前端使用 JavaScript 框架,如 Dojo 或 jQuery,对应的库也需要包含在项目中,虽然这些不是 Spring MVC 的直接依赖,但它们能增强用户体验和交互效果。 9. **AOP 相关库**:如果使用...

    Java EE企业级应用开发教程(Spring+Spring MVC+MyBatis)所有实验及实验报告.zip

    Spring MVC是Spring框架的一部分,专门用于构建Web应用程序的Model-View-Controller(MVC)架构。它提供了一个灵活的模型绑定机制,可以将HTTP请求参数与Java对象字段对应起来,同时支持多种视图技术,如JSP、...

    Spring MVC 4.2.3

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

    学生籍贯管理系统,基于Java SSM框架开发(spring、 spring mvc、 mybatis)

    本文将深入探讨一个基于Java SSM框架(Spring、Spring MVC、MyBatis)开发的学生籍贯管理系统,理解其设计原理、核心功能及实现技术。 首先,SSM框架是Java Web开发中的主流选择,它由Spring、Spring MVC和MyBatis...

    spring-mvc-jquery.zip_jquery_mvc jquery_spring jquery_spring mvc

    首先,Spring MVC是Spring框架的一部分,它是一个用于构建基于Java的企业级Web应用程序的模型-视图-控制器(MVC)架构。Spring MVC提供了一种模块化的方式来组织和处理HTTP请求,通过Controller、Service、DAO等层...

    Spring_MVC_教程_快速入门_深入分析 高清文字版PDF

    在文件的描述中提到了Spring 3.0版本,这是Spring框架的一个重要版本,它增加了对注解配置的支持,极大地提高了Spring MVC的易用性。同时,它通过改进和优化,超越了当时的竞争对手Struts2,成为许多开发团队的首选...

    spring-mvc.rar_spring mvc

    Spring MVC 是一个基于Java的轻量级Web应用框架,它为构建RESTful应用程序提供了强大的支持。这个名为"spring-mvc.rar_spring mvc"的压缩包可能是为了帮助初学者理解和入门Spring MVC,解决他们在开发过程中可能遇到...

    在 Spring Web MVC 环境下使用 Dojo

    综上所述,结合 Spring Web MVC 的强大功能和 Dojo 的丰富客户端能力,我们可以构建出功能强大且用户体验良好的Web应用。理解 Dojo 与 Spring MVC 的集成原理,能够帮助开发者更高效地开发复杂的企业级应用。

    maven与spring MVC

    而Spring MVC是Spring框架的一部分,用于构建高性能、灵活的Web应用程序。 【描述】"使用MAVEN 结合SPRING DWR hiberante validation"提到了另外三个技术:DWR(Direct Web Remoting)、Hibernate和Validation。DWR...

    spring3 mvc 用 jquery ajax 交互

    首先,Spring MVC是Spring框架的一个模块,专为构建可维护、可扩展的Web应用而设计。它采用模型-视图-控制器(MVC)架构模式,使得业务逻辑、数据处理和用户界面分离,从而提高代码的可读性和可测试性。 在Spring ...

    SSM框架Spring+Spring MVC+Mybatis整合详解

    Spring MVC是Spring框架的一部分,它基于MVC设计模式,分离了Web层的三个主要组件:控制器(Controller)、模型(Model)、视图(View)。控制器处理用户的请求并返回响应,模型封装数据,视图则用于呈现数据。...

    Spring-mvc-showcase

    Spring MVC 是 Spring 框架的重要组成部分,它是一个模型-视图-控制器(Model-View-Controller)架构,用于构建 Web 应用程序。"Spring-mvc-showcase" 是一个官方提供的 Maven 工程,旨在展示 Spring MVC 的各种功能...

    spring spring mvc mybatis 健身房系统

    【标题】"spring spring mvc mybatis 健身房系统"揭示了这是一个基于Java技术栈的健身房管理系统,采用Spring框架、Spring MVC和MyBatis作为核心开发工具。这三个技术是Java Web开发中的常用组件,它们共同构建了一...

    Spring MVC4.1.6jar包

    Spring MVC是Spring框架的一个核心模块,专门用于处理Web应用程序的请求和响应。Spring MVC4.1.6版本是在2015年发布的,它在前一个版本的基础上进行了一系列的优化和增强,旨在提供更高效、更灵活的Web开发体验。 ...

    Spring Portlet MVC参考文档(中文版)

    此文档基于Spring框架2.0.8版本的第16章翻译而来,旨在详细介绍Spring Portlet MVC的概念与原理,特别是框架内的关键组件与使用技巧,以助开发者深入了解并灵活应用。 **1.2 面向读者** 该文档主要面向具备一定JSR...

Global site tag (gtag.js) - Google Analytics