1 springmvc 框架

1.1  回顾mvc结构

1.2springmvc的介绍

是一个基于mvc的web层框架,使用spring的一个子项目

在使用springmvc的时候,不用单独和spring进行集成。

2 第一个springmvc的应用

2.1新建web项目

2.2加入jar包

2.3建立Controller

Controller:应用控制器,就是一个普通的javabean

模拟用户登录:

 package org.guangsoft.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 UserController implements Controller
{ /**
* ModelAndView:对象汇总封装了需要响应到客户端额的数据的视图的页面
*/
@Override
public ModelAndView handleRequest(HttpServletRequest request,
HttpServletResponse response) throws Exception
{
//获得页面请求数据
String username = request.getParameter("username");
String password = request.getParameter("password"); //创建一个ModelAndView对象,封装了需呀显示的视图和视图上需要显示的数据
ModelAndView mav = new ModelAndView();
if(username.equals("root") && password.equals("root"))
{
//请求转发
mav.setViewName("success.jsp");
mav.addObject("username",username);
}
else
{
mav.setViewName("error.jsp");
mav.addObject("msg", "用户名或密码错误!");
}
return mav;
} }

2.4建立springmvc.xml配置文件

 <?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:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd"> <!-- name是usercontroller请求的url -->
<bean name="/userController.action" class="org.guangsoft.controller.UserController"></bean>
</beans> 

2.5在web.xml中配置springmvc的核心控制器

Springmvc的核心控制器是一个servlet

 package org.guangsoft.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 UserController implements Controller
{ /**
* ModelAndView:对象汇总封装了需要响应到客户端额的数据的视图的页面
*/
@Override
public ModelAndView handleRequest(HttpServletRequest request,
HttpServletResponse response) throws Exception
{
//获得页面请求数据
String username = request.getParameter("username");
String password = request.getParameter("password");
//床架一个ModelAndView对象,封装了需呀显示的视图和视图上需要显示的数据
ModelAndView mav = new ModelAndView();
if(username.equals("root") && password.equals("root"))
{
//请求转发
mav.setViewName("success.jsp");
mav.addObject("username",username);
}
else
{
mav.setViewName("error.jsp");
mav.addObject("msg", "用户名或密码错误!");
}
return mav;
} }

2.6建立视图页面

建立登陆页面:

建立成功提示页面:

2.7发布测试

3第一个程序问题总结

Springmvc.xml的文件加载问题:

如果不配置,默认/WEB-INF/springmvc-servlet.xml

请求url的问题:

核心控制的路径:/* 会导致jsp页面404错误,要用*.action

4 controller应用控制器的不同实现

Handler的不同实现方式,UserHandler

4.1实现Controller接口

4.2实现HttpRequestHandler

最原始的servlet写法,获得请求参数和进行跳转都是用原始的servletapi。

 package org.guangsoft.controller;

 import java.io.IOException;

 import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import org.springframework.web.HttpRequestHandler;
import org.springframework.web.servlet.ModelAndView; public class UserController2 implements HttpRequestHandler
{ @Override
public void handleRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
//获得页面请求数据
String username = request.getParameter("username");
String password = request.getParameter("password");
if(username.equals("root") && password.equals("root"))
{
//请求转发
request.setAttribute("username", username);
response.sendRedirect("success.jsp");
}
else
{
response.sendRedirect("error.jsp");
}
} }

4.3自定义javabean(重点)

不需要实现任何接口,处理请求的方法自己定义(参数和返回值),配合注解一起使用

4.3.1定义Controller

通过扫描将controller纳入spring容器

 package org.guangsoft.controller;

 import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping; @Controller
public class UserController3
{
/**
* 返回值:stirng表示跳转的路径
* username:接受客户端请求的username
* passowrd:接受客户端请求的password
* model:封装需要响应到客户端的数据
* 参数名称必须和客户端请求的参数名称一致
* @return
*/
@RequestMapping("/userLogin")//客户端请求的url
public String userLogin(String username, String password, Model model)
{
if(username.equals("root") && password.equals("root"))
{
model.addAttribute("username",username);
return "success.jsp";//完成页面的跳转
}
else
{
model.addAttribute("msg", "您的用户名或密码错误!");
return "error.jsp";
}
}

4.3.2进行UserController3的配置

 <?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation=
"http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd"> <!-- name是usercontroller请求的url -->
<bean name="/userController.action" class="org.guangsoft.controller.UserController"></bean>
<context:component-scan base-package="org.guangsoft.controller"></context:component-scan>
<mvc:annotation-driven></mvc:annotation-driven>
</beans>

SpringMVC基本配置的更多相关文章

  1. SpringMVC、SpringMVC XML配置(纯XML方式)

    1.引入SrpingMVC所使用的Java包: cglib-nodep-2.1_3.jar.commons-logging.jar.spring-aspects-4.1.7.RELEASE.jar.s ...

  2. Springmvc中配置Quartz使用,实现任务实时调度。

    菜鸡的自我修炼,第一次接触quartz,做个记录.-------jstarseven 最近在项目中,第一次在springmvc中配置实用quartz,深刻的感受到quartz带来的方便,顺手做个记录. ...

  3. springMVC+Hibernate配置

    本文描述下 sypro 项目中使用 springMVC+Hibernate配置,初学SpringMVC做下简单整理解. 1.web项目首先我们要使用 web.xml文件将 spring配置引入进来 & ...

  4. SpringMVC简单配置

    SpringMVC简单配置 一.eclipse安装Spring插件 打开help下的Install New Software 点击add,location中输入http://dist.springso ...

  5. Idea简单SpringMVC框架配置

    前边已经介绍过了Struts在Idea上的配置,相对于Struts来说,我觉得SpringMVC有更多的优势,首先Struts是需要对action进行配置,页面发送不同的请求,就需要配置不同的acti ...

  6. SpringMVC常用配置(二),最简洁的配置实现文件上传

    Spring.SpringMVC持续介绍中,基础配置前面已经介绍了很多,如果小伙伴们还不熟悉可以参考这几篇文章: 1.Spring基础配置 2.Spring常用配置 3.Spring常用配置(二) 4 ...

  7. SpringMVC常用配置

    关于Spring.SpringMVC我们前面几篇博客都介绍了很多,但是还不够,这些框架中涉及到的注解.配置非常多,那么我们今天再来介绍一个SpringMVC的基本配置,灵活的使用这些配置,可以让我们在 ...

  8. SpringMVC基础配置(通过注解配置,非xml配置)

    SpringMVC是什么,有多火,我这里就不再啰嗦了,SpringMVC比Struts2好用太多,我在学校的时候私下里两种都接触过,对比之后果断选择了SpringMVC,后来在做Android应用开发 ...

  9. maven+springmvc的配置

    1. 首先创建1个mavenweb项目  如果没有的话最好是去官网下载一个最新版本的eclipse  里面什么都有 maven/gradle 啥的 2. 选择路径   没啥影响 就是一个路径 默认就行 ...

  10. SpringMVC的配置和使用

    SpringMVC的配置和使用 什么是SpringMVC? SpringMVC是Spring家族的一员,Spring是将现在开发中流行的组件进行组合而成的一个框架!它用在基于MVC的表现层开发,类似于 ...

随机推荐

  1. [webpack] webpack-dev-server介绍及配置

    webpack-dev-server是webpack官方提供的一个小型Express服务器.使用它可以为webpack打包生成的资源文件提供web服务.webpack-dev-server官方文档 w ...

  2. SQL0946N错误及DB2事务日志

    在对DB2数据库进行批量增删的时候, 如果数据量比较大会导致SQL0964N错误, DB2 Knowledge center(http://pic.dhe.ibm.com/infocenter/db2 ...

  3. Palindrome Index

    传送门: Palindrome Index Problem Statement You are given a string of lower case letters. Your task is t ...

  4. BZOJ3631: [JLOI2014]松鼠的新家

    传送门 树上的差分优化,很简单的一道题,应该属于NOIP2015TGD2T3的子问题. //BZOJ 3631 //by Cydiater //2016.10.25 #include <iost ...

  5. oracle---jdbctest--laobai

    import java.sql.CallableStatement; import java.sql.Connection; import java.sql.ResultSet; import ora ...

  6. Linux系统下压缩文件时过滤指定的文件 |Linux系统压缩指定文件代码

    进入要压缩的目录: [root@iZ25c748tjqZ wechat]# cd /alidata1/htdocs/wechat/ 查看目录: [root@iZ25c748tjqZ wechat]# ...

  7. Unity unsafe

    http://answers.unity3d.com/questions/23307/is-it-impossible-to-use-the-code-with-keyword-unsa.html 可 ...

  8. webpack入坑之旅

    转自: http://guowenfh.github.io/2016/03/24/vue-webpack-01-base/ http://guowenfh.github.io/2016/03/25/v ...

  9. Excel函数——DATE、SUBSTITUTE、REPLACE、ISERROR、IFERROR

    1.DATE DATE 函数返回表示特定日期的连续序列号.例如,公式 =DATE(2008,7,8) 返回 2008-7-8或39637,取决于单元格格式,但空单元格计算和默认为日期格式. DATE也 ...

  10. Hadoop-HBASE案例分析-Hadoop学习笔记<二>

    之前有幸在MOOC学院抽中小象学院hadoop体验课. 这是小象学院hadoop2.X概述第八章的笔记 主要介绍HBase,一个分布式数据库的应用案例. 案例概况: 1)时间序列数据库(OpenTSD ...