`
GoodWell
  • 浏览: 29527 次
  • 性别: Icon_minigender_1
  • 来自: 河北邢台
社区版块
存档分类

SpringMVC

阅读更多

SpringMVC基础知识:

 

核心类和接口

DispatcherServlet   -- 前置控制器

HandlerMapping接口 -- 处理请求的映射

HandlerMapping接口的实现类:

SimpleUrlHandlerMapping  通过配置文件,把一个URL映射到Controller

DefaultAnnotationHandlerMapping  通过注解,把一个URL映射到Controller类上

HandlerAdapter接口 -- 处理请求的映射

AnnotationMethodHandlerAdapter类,通过注解,把一个URL映射到Controller类的方法上

Controller接口 -- 控制器

由于我们使用了@Controller注解,添加了@Controller注解注解的类就可以担任控制器(Action)的职责,

所以我们并没有用到这个接口。

ViewResolver接口的实现类

UrlBasedViewResolver 通过配置文件,把一个视图名交给到一个View来处理

InternalResourceViewResolver类,比上面的类,加入了JSTL的支持

ModelAndView

 

登录实例:

首先是配置xml

<servlet>

    <servlet-name>dipatcher</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>

    <load-on-startup>1</load-on-startup>//是启动顺序和servlettp容器一起启动

  </servlet>

 

  <servlet-mapping>

    <servlet-name>dipatcher</servlet-name>

    <url-pattern>*.do</url-pattern>//拦截以.do结尾的请求

  </servlet-mapping>

其中<param-value>**.xml</param-value> 这里可以使用多种写法
1
、不写,使用默认值:/WEB-INF/<servlet-name>-servlet.xml
2
<param-value>/WEB-INF/classes/springMVC.xml</param-value>
3
<param-value>classpath*:springMVC-mvc.xml</param-value>
4
、多个值用逗号分隔

然后配置跟上下文applocationContext.xml

<!-- efinition 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>在当前目录下的view目录下存放视图

    </property>

    <property name="suffix">

       <value>.jsp</value>视图均已.jsp结尾

    </property>

</bean>

 

<!-- Request Mapping 映射响应器-->

<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">

    <property name="mappings">

       <props>

           <prop key="/regAction.do">regAction</prop>//注册跳转Action

           <prop key="/login.do">login</prop>//登录跳转Action

       </props>

    </property>

</bean>

 

<!-- Action Definition  控制器 -->

<bean id="regAction" class="org.lee.springmvc.demo.RegAction">

    <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>

</bean>

 

<!-- Action Definition  控制器 -->

    login为上面视图解析器中的名字

<bean id="login" class="cn.csdn.login.LoginAction">

    <property name="commandClass">

       <value>cn.csdn.login.Login</value>

    </property>

   

    <property name="error">

       <value>error</value>

    </property>

   

    <property name="success">

       <value>loginsuccess</value>//如果成功了跳转到view目录下的loginsuccess.jsp

    </property>

</bean>

页面为:

<body>

    <div align="center">

         <form action="login.do" method="post">

           <table>

           <tr>

               <td>用户名:</td>

               <td> <input type="text" name="username"> </td>

           </tr>

           <tr>

               <td>密码:</td>

               <td> <input type="password" name="password"> </td>

           </tr>

           <tr>

               <td colspan="2">

                   <input type="submit" value="登录">

               </td>

           </tr>

           </table>

         </form>

      </div>

  </body>

 

Bean为:

         package cn.csdn.login;

 

public class Login {

 

    private String username;

   

    private String password;

 

    public String getUsername() {

       return username;

    }

 

    public void setUsername(String username) {

       this.username = username;

    }

 

    public String getPassword() {

       return password;

    }

 

    public void setPassword(String password) {

       this.password = password;

    }

   

   

}

Action为:

package cn.csdn.login;

 

import java.util.HashMap;

 

import org.springframework.validation.BindException;

import org.springframework.web.servlet.ModelAndView;

import org.springframework.web.servlet.mvc.SimpleFormController;

 

public class LoginAction extends SimpleFormController{

 

         private String error ;

         private String success;

        

         protected ModelAndView onSubmit(Object cmd,BindException ex) throws Exception

         {

                   Login login =(Login)cmd ;

                   System.out.println(login.getUsername());

                   if(isEntity(login))

                   {

                            HashMap hm = new HashMap();

                            hm.put("login", login);

                            return new ModelAndView(this.getSuccess(),hm);

                   }else

                   {

                            return new ModelAndView(this.getError());

                   }

         }

         private boolean isEntity(Login login)

         {

                   if(login.getUsername() != null && !login.getUsername().trim().equals("") && login.getPassword() !=null && !login.getPassword().trim().equals(""))

                            return true ;

                   else

                            return false ;

         }

         public String getError() {

                   return error;

         }

         public void setError(String error) {

                   this.error = error;

         }

         public String getSuccess() {

                   return success;

         }

         public void setSuccess(String success) {

                   this.success = success;

         }

        

}

分享到:
评论

相关推荐

    Spring+SpringMVC+Mybatis框架整合例子(SSM) 下载

    Spring、SpringMVC和Mybatis是Java开发中最常用的三大开源框架,它们的整合使用,通常被称为SSM框架。这个框架组合提供了完整的后端服务解决方案,包括依赖注入(DI)、面向切面编程(AOP)、模型-视图-控制器(MVC...

    springMVC练手代码

    SpringMVC是Spring框架的一个模块,专为构建Web应用程序提供模型-视图-控制器(MVC)架构。这个“springMVC练手代码”压缩包包含的资源可以帮助初学者或开发者深入了解并实践SpringMVC的基本操作和核心概念。 首先...

    SpringMVC demo 完整源码实例下载

    SpringMVC是一款强大的Java web开发框架,用于构建高效、可维护的Web应用程序。在这个"SpringMVC demo 完整源码实例下载"中,我们能够深入理解并学习SpringMVC的核心概念和实际应用。 首先,SpringMVC是Spring框架...

    【狂神SpringMVC配套课程代码】SpringMVC.zip

    【狂神SpringMVC配套课程代码】一共8个模块,大概可以看我的博客,都是自己学配套整理的 欢迎大家作为学习SpringMVC的参考!! 下面附上狂神B站课程网址,和我的博客笔记(共8章) 狂神老师B站课程:...

    springmvc实战项目sample

    SpringMVC是一个强大的Java Web开发框架,由Spring社区开发,它是Spring生态系统的重要组成部分,主要用于构建后端服务。SpringMVC以其灵活的配置、高度模块化和优秀的性能深受开发者喜爱。在这个"springmvc实战项目...

    springmvc第一天课堂笔记.docx

    ### SpringMVC基础知识详解 #### 一、SpringMVC简介 **SpringMVC**是Spring框架中的一个重要组成部分,主要用于Web应用程序的开发。它遵循MVC(Model-View-Controller)设计模式,帮助开发者构建清晰、可维护的Web...

    SpringMVC PPT_springmvc_

    SpringMVC 是一款基于 Java 的轻量级 Web 开发框架,它是 Spring 框架的重要组成部分,主要用于构建 MVC(Model-View-Controller)模式的 Web 应用程序。本教程将深入探讨 SpringMVC 的核心概念、配置以及实际应用。...

    SpringMVC+sqlitejdbc的jar集合

    SpringMVC和SQLiteJDBC是两个在Java开发中常见的组件,它们分别用于构建Web应用程序和服务端数据存储。这里我们详细探讨这两个技术以及它们如何协同工作。 **SpringMVC** SpringMVC是Spring框架的一个模块,专门...

    maven+springmvc+mybatis+log4j框架搭建

    本教程将详细阐述如何使用四个关键组件——Maven、SpringMVC、MyBatis和Log4j——来搭建一个强大的Web应用框架,旨在提高开发效率并优化项目管理。 **Maven** 是一个流行的项目管理和综合工具,它通过统一的构建...

    SpringMVC+Hibernate+EXT

    【SpringMVC】 SpringMVC是Spring框架的一部分,它是一个用于构建Web应用程序的轻量级、模型-视图-控制器(MVC)架构。SpringMVC通过将业务逻辑、控制逻辑和显示逻辑分离,提高了代码的可维护性和可测试性。在...

    SpringMVC+Hibernate+Spring整合实例

    SpringMVC、Hibernate和Spring是Java开发中三大核心框架,它们各自负责应用程序的不同层面:SpringMVC用于处理HTTP请求和响应,Hibernate则是持久层框架,负责数据库操作,而Spring作为全能容器,提供依赖注入和面向...

    SpringMVC+Mybatis demo

    SpringMVC和MyBatis是Java Web开发中的两个核心框架,它们在构建高效、模块化的应用程序方面发挥着重要作用。SpringMVC是Spring框架的一部分,主要负责处理HTTP请求和响应,而MyBatis则是一个轻量级的持久层框架,...

    SpringMVC 入门小程序

    **SpringMVC 入门小程序详解** SpringMVC是Spring框架的一个重要模块,它是一个用于构建Web应用程序的轻量级、模型-视图-控制器(MVC)框架。本入门程序旨在帮助初学者理解并掌握SpringMVC的基本概念和工作流程,...

    SpringMVC精品资源--SpringMVC+Mybatis 脚手架.zip

    SpringMVC和Mybatis是Java开发中非常流行的两个框架,它们在企业级Web应用开发中起着关键作用。SpringMVC作为Spring框架的一部分,主要负责处理HTTP请求和响应,而Mybatis则是一个轻量级的持久层框架,专注于数据库...

    springMVC拦截器项目

    SpringMVC 拦截器项目是一个典型的 Web 应用开发示例,它利用 SpringMVC 框架中的拦截器(Interceptor)机制来实现特定的功能,如权限控制、日志记录、性能统计等。SpringMVC 是 Spring 框架的一部分,专为构建基于 ...

    Java基于Spring+SpringMVC+MyBatis实现的学生信息管理系统源码.zip

    Java基于Spring+SpringMVC+MyBatis实现的学生信息管理系统源码,SSM+Vue的学生管理系统。 Java基于Spring+SpringMVC+MyBatis实现的学生信息管理系统源码,SSM+Vue的学生管理系统。 Java基于Spring+SpringMVC+...

    尚硅谷SpringMVC部分全套教学文档笔记

    《尚硅谷SpringMVC部分全套教学文档笔记》涵盖了SpringMVC框架的核心概念和技术,通过一系列章节深入浅出地讲解了SpringMVC的各个方面。以下是基于这些文档内容的详细知识点总结: 1. **SpringMVC概述与HelloWorld*...

    SpringMVC5.0jar包集合

    SpringMVC是Spring框架的一部分,专门用于构建Web应用程序的模型-视图-控制器(MVC)架构。在本文中,我们将深入探讨SpringMVC 5.0版本的关键特性、使用方法以及它如何增强Web开发的效率。 首先,SpringMVC 5.0是...

    springmvc+mybatis+postgresql+maven整合

    在本项目中,我们主要探讨的是如何将SpringMVC、MyBatis、PostgreSQL数据库以及Maven构建工具进行有效的整合,以实现一个高效且模块化的Web应用开发环境。以下是关于这些技术及其整合的关键知识点的详细说明: **1....

Global site tag (gtag.js) - Google Analytics