`

spring mvc框架的搭建

阅读更多
Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架。通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和 POI。Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。
  Spring 的 Web MVC 框架是围绕 DispatcherServlet 设计的,它把请求分派给处理程序,同时带有可配置的处理程序映射、视图解析、本地语言、主题解析以及上载文件支持。默认的处理程序是非常简单的 Controller 接口,只有一个方法 ModelAndView handleRequest(request, response)。Spring 提供了一个控制器层次结构,可以派生子类。如果应用程序需要处理用户输入表单,那么可以继承 AbstractFormController。如果需要把多页输入处理到一个表单,那么可以继承 AbstractWizardFormController。

     Spring MVC对于现在较成熟的Model-View-Control框架而言,其解决的主要问题无外乎下面几部分:
     1》将web页面中的输入元素封装为一个(请求)数据对象。
     2》根据请求的不同,调度相应的逻辑处理单元,并将(请求)数据对象作为参数传入。
     3》逻辑处理单元完成运算后,返回一个结果数据对象。
     4》将结果数据对象中的数据与预先设计的表现层相融合并展现给用户。
开发步骤:

首先新建web Project项目:MySpringMvc

1.加载项目所需要的jar包;
   spring.jar -------------------------这个在spring2.5.6资源包的dist下面
   spring-webmvc.jar---------------这个在spring2.5.6资源包的dist/module下面

2.配置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>dd</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- <init-param>-->
<!--  <param-name>contextConfigLocation</param-name>-->
<!--  <param-value>/WEB-INF/applicationContext.xml</param-value>-->
<!--          </init-param>-->
</servlet>
<!--
applicationContext.xml文件代表示应用程序服务的配置和 bean 配置。如果想装入多个配置文件,可以在
<param-value>标记中用逗号作分隔符。
springmvc配置文件与spring配置的servlet名称有关[如本配置中是dd]
通常springmvc配置文件名称结构为:[servlet-name]-servlet.xml,
如果你没有指定init-param里面contextCofigLocation的值中对应的XML文件的话
(也就是applicationContext全局配置文件没有配置在web.xml中的话),那么像本
段代码对应在springmvc中的配置文件就应该是/WEB-INF/dipatcher-servlet.xml这样的文件,
否则如果配置了applicaitonContext.xml这样的spring全局配置文件,如本配置那么就必须为/WEB-INF/dd-servlet.xml
-->
<servlet-mapping>
<servlet-name>dd</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>





2.由于上面的初始化参数中没有指定名字的XML文件,因此在WEB-INF下面建立

  dispatcher-servlet.xml

<?xml version="1.0" encoding="UTF-8"?>
<!--看到下面的beans这个元素标签没有,必须有标签的声明-->
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

<!-- URL Mapping -->
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/regAction.do">regAction</prop>
</props>
</property>
</bean>

<!-- definition of View Resolver -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass">
<value>org.springframework.web.servlet.view.JstlView</value>
</property>
<property name="prefix">
<value>/view/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
<!-- formController ,这个formController可以配置也可以不配置-->
<bean id="formController"
class="org.springframework.web.servlet.mvc.ParameterizableViewController">
  <property name="viewName">
   <value>form</value>
  </property>
</bean>

<!-- Action Definition -->
<bean id="regAction" class="org.lee.springmvc.demo.RegAction">
<!--在MySpringMvc这个项目中就没有配置这个commandClass,
因为它提前调用了setCommandClass(LoginForm.class)这个方法;这样跟下面效果一样
不过还是建议配成下面这样的更好
-->
<property name="commandClass">
<value>org.lee.springmvc.demo.RegInfo</value>
</property>
<property name="error_view">
<value>error</value>
</property>
<property name="success_view">
<value>success</value>
</property>
<property name="commandName">
<value>myCommand</value>
</property>
</bean>
</beans>

 

3.建立JSP文件

form.jsp

<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@taglib prefix="spring"
                 uri="http://www.springframework.org/tags"%>
                
<%@taglib prefix="c"
                 uri="http://java.sun.com/jsp/jstl/core"%>
<html>
    <head>
        <meta http-equiv="Content-Type"
              content="text/html; charset=UTF-8">
        <title>Login Form</title>
    </head>
    <body>
    <h1>登入表单</h1>
    <spring:bind path="command.*">
        <font color="red">
            <b>${status.errorMessage}</b>
        </font><br>
    </spring:bind>
   
    请输入使用者名称与密码:<p>
    <form name="loginform" action="login.do" method="post">
   
        <spring:bind path="command.userName">
        名称 <input type="text" name="${status.expression}" value="${status.value}"/>
            <font color="red"><c:out value="${status.errorMessage}" /></font><br/>
       
        </spring:bind>
   
        <spring:bind path="command.password">
        密码 <input type="password" name="${status.expression}" value="${status.value}"/>
         <font color="red"><c:out value="${status.errorMessage}" /></font><br/>
        </spring:bind>
   
        <input type="submit" value="确定"/>
    </form>
    注意:输入错误会再回到这个页面中。     
    </body>
</html>



4.建立jsp文件
success.jsp

<%@page contentType="text/html"%>
<%@page pageEncoding="GBK"%>

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=GBK">
        <title>登入成功</title>
    </head>
    <body>
        <H1>哈啰! ${welcomeuser}!!</H1>
        这是您的神秘礼物!^o^<a href="login.do">退出登录</a>
    </body>
</html>

5.建立一个java bean LoginForm.java

package zz.it.beans;

public class LoginForm {
private String userName;
private String password;

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}

public String getUserName() {
return userName;
}

public void setUserName(String userName) {
this.userName = userName;
}


}



6.建立controller LoginController.java

package zz.it.controller;


import org.springframework.validation.BindException;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.SimpleFormController;

import zz.it.beans.LoginForm;

public class LoginController extends SimpleFormController {
/**
* 构造方法
*/
public LoginController() {
// TODO Auto-generated constructor stub
//setCommandClass(LoginForm.class);
//这句话要是不写的话,那么在dd-servlet.xml中的loginController里面配置上如下:
// <property name="commandClass">
//<value>zz.it.beans.LoginForm</value>
//</property>
//这样效果也是一样的
}

public ModelAndView onSubmit(Object cmd, BindException errors) {
LoginForm loginForm = (LoginForm) cmd;
if (loginForm.getUserName().equals("test")
&& loginForm.getPassword().equals("test")) {
return new ModelAndView(getSuccessView(), "welcomeuser", loginForm
.getUserName());
} else {
errors.reject("ccc", "用户名或密码有误!");
errors.rejectValue("userName", "nameErr", null, "用户名错误");
errors.rejectValue("password", "passErr", null, "密码错误");
return new ModelAndView(getFormView(), errors.getModel());
}
}
}
分享到:
评论

相关推荐

    spring MVC框架搭建

    Spring MVC 框架搭建与 Hibernate 整合实例 Spring MVC 框架搭建是 Java Web 开发中的一种常见架构模式,它基于 Model-View-Controller(MVC)模式,使用注解方式来处理请求和响应。下面将详细介绍 Spring MVC 框架...

    spring mvc框架搭建

    Spring MVC 框架搭建详解 Spring MVC 是 Spring 框架的一个模块,它为构建基于 Java 的 Web 应用程序提供了一个模型-视图-控制器(MVC)架构。在本文中,我们将深入探讨如何使用 Maven 搭建一个包含 Spring MVC、...

    最简单的spring MVC框架搭建

    在这个最简单的Spring MVC框架搭建过程中,我们将不涉及数据库的使用,专注于基础架构的搭建。 首先,我们需要在项目中引入Spring MVC的依赖。通常,我们使用Maven或Gradle这样的构建工具来管理项目依赖。在Maven的...

    spring mvc 框架搭建

    在搭建Spring MVC框架的过程中,我们需要遵循以下步骤: 1. **环境准备**:首先确保已安装Java Development Kit (JDK) 和 Apache Maven,这两个是Spring MVC项目的基础。Maven是Java项目的构建工具,它管理项目依赖...

    Spring MVC 框架搭建及详解

    Spring MVC 是一个强大的Java Web应用程序开发框架,它提供了一个模型-视图-控制器(MVC)架构,使得开发者可以将业务逻辑、数据处理和用户界面分离,提高代码的可维护性和可扩展性。Spring MVC 是Spring框架的重要...

    Spring MVC 框架搭建及详解 - OPEN 开发经验库.htm

    Spring MVC 框架搭建及详解 - OPEN 开发经验库.htm

    Spring MVC 框架搭建

    Spring MVC 框架在 Java 的 Web 项目中应该是无人不知的吧,你不会搭建一个 Spring 框架?作为身为一个刚刚学习Java的我都会,如果你不会的话,那可真令人忧伤。 1.在 MyEclipse 创建项目后,可以以选择的方式去...

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

    搭建Spring MVC和Mybatis的环境,配置相关XML或Java配置文件;编写控制器处理HTTP请求,调用服务层进行业务逻辑处理;实现DAO接口,与数据库交互;最后,前端页面展示数据,可能使用JSP、Thymeleaf或其他模板引擎。 ...

    MetroNic+Mybatis+ Spring MVC框架搭建案例

    本案例中,我们使用了"MetroNic+Mybatis+Spring MVC"这一强大的技术栈来搭建一个完整的Web项目。接下来,我们将深入探讨这三个核心组件以及它们如何协同工作,构建出高性能的Web应用程序。 首先,MetroNic是一个...

    Spring MVC 框架搭建配置方法及详解

    在搭建Spring MVC环境时,首先要确保引入必要的依赖库。对于Spring 2.5.6版本,你需要添加以下JAR包: 1. `spring.jar`:Spring核心库,包含了依赖注入、AOP等基础功能。 2. `spring-webmvc.jar`:Spring MVC的核心...

    简单的spring mvc 框架搭建方法

    去spring官网下载spring-framework-3.1.0.release-with-docs.zip,解压后找到dist文件夹,将里面的.jar文件都拷入新建项目中去。在下载commons-logging-1.0.4.jar并导入 首发地址:...

    maven spring-mvc框架搭建

    maven spring-mvc框架搭建maven spring-mvc框架搭建

    spring_mvc框架搭建demo

    这个“spring_mvc框架搭建demo”是一个实践教程,帮助初学者快速理解并上手Spring MVC。 首先,我们来看`.classpath`文件。这是一个Eclipse项目中的配置文件,用于定义项目的类路径。在Spring MVC项目中,它通常...

    Spring-MVC框架简单实现

    **Spring MVC 框架简单实现** Spring MVC 是 Spring 框架的一部分,它是一个用于构建 Web 应用程序的模型-视图-控制器(MVC)架构。在这个简易版框架中,我们将深入理解 Spring MVC 的核心概念和关键组件。 **1. ...

    SpringMVC框架搭建及详解.pdf

    "SpringMVC框架搭建及详解" SpringMVC框架是一种基于Java的Web应用程序框架,旨在简化Web开发的复杂性。下面将对SpringMVC框架的搭建及详解进行详细说明。 一、 Spring MVC环境搭建 要搭建Spring MVC环境,需要...

    精通Spring MVC 4

    本书共计10章,分别介绍了快速搭建Spring Web应用、精通MVC结构、URL映射、文件上传与错误处理、创建Restful应用、保护应用、单元测试与验收测试、优化请求、将Web应用部署到云等内容,循序渐进地讲解了Spring MVC4...

    spring mvc框架demo

    spring mvc框架搭建demo,同时支持junit单元测试的实例demo。

    spring mvc 搭建(java web)

    #### 三、Spring MVC框架搭建步骤 1. **创建Java Web项目** - 在开发环境中新建一个Java Web项目,例如使用Eclipse或IntelliJ IDEA等IDE进行创建。 - 项目创建完成后,可以看到项目的默认结构。 2. **添加jar包及...

Global site tag (gtag.js) - Google Analytics