SpringMVC基本配置
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基本配置的更多相关文章
- SpringMVC、SpringMVC XML配置(纯XML方式)
1.引入SrpingMVC所使用的Java包: cglib-nodep-2.1_3.jar.commons-logging.jar.spring-aspects-4.1.7.RELEASE.jar.s ...
- Springmvc中配置Quartz使用,实现任务实时调度。
菜鸡的自我修炼,第一次接触quartz,做个记录.-------jstarseven 最近在项目中,第一次在springmvc中配置实用quartz,深刻的感受到quartz带来的方便,顺手做个记录. ...
- springMVC+Hibernate配置
本文描述下 sypro 项目中使用 springMVC+Hibernate配置,初学SpringMVC做下简单整理解. 1.web项目首先我们要使用 web.xml文件将 spring配置引入进来 & ...
- SpringMVC简单配置
SpringMVC简单配置 一.eclipse安装Spring插件 打开help下的Install New Software 点击add,location中输入http://dist.springso ...
- Idea简单SpringMVC框架配置
前边已经介绍过了Struts在Idea上的配置,相对于Struts来说,我觉得SpringMVC有更多的优势,首先Struts是需要对action进行配置,页面发送不同的请求,就需要配置不同的acti ...
- SpringMVC常用配置(二),最简洁的配置实现文件上传
Spring.SpringMVC持续介绍中,基础配置前面已经介绍了很多,如果小伙伴们还不熟悉可以参考这几篇文章: 1.Spring基础配置 2.Spring常用配置 3.Spring常用配置(二) 4 ...
- SpringMVC常用配置
关于Spring.SpringMVC我们前面几篇博客都介绍了很多,但是还不够,这些框架中涉及到的注解.配置非常多,那么我们今天再来介绍一个SpringMVC的基本配置,灵活的使用这些配置,可以让我们在 ...
- SpringMVC基础配置(通过注解配置,非xml配置)
SpringMVC是什么,有多火,我这里就不再啰嗦了,SpringMVC比Struts2好用太多,我在学校的时候私下里两种都接触过,对比之后果断选择了SpringMVC,后来在做Android应用开发 ...
- maven+springmvc的配置
1. 首先创建1个mavenweb项目 如果没有的话最好是去官网下载一个最新版本的eclipse 里面什么都有 maven/gradle 啥的 2. 选择路径 没啥影响 就是一个路径 默认就行 ...
- SpringMVC的配置和使用
SpringMVC的配置和使用 什么是SpringMVC? SpringMVC是Spring家族的一员,Spring是将现在开发中流行的组件进行组合而成的一个框架!它用在基于MVC的表现层开发,类似于 ...
随机推荐
- LeetCode-62-Unique Paths
A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below). The ...
- Java JVM proxy setting
-Dhttp.proxyPort=8080(your port) -Dhttp.proxyHost=192.168.19.200(your IP) -Dhttp.nonProxyHosts=local ...
- ModernUI教程:独立显示器DPI感知
独立显示器DPI感知,是在Windows 8.1中新增的特性,这个特性针对拥有多个显示器同时各个显示器的DPI设定又不同的人.对这个新特性做了优化支持的软件能够在一个高DPI的显示器 ...
- sFlow-RT
sFlow-RT™ incorporates InMon's asynchronous analytics technology (patent pending), delivering real-t ...
- 关于XML序列化与CultureInfo
不同的计算机系统可能有着不同的CultureInfo,例如在中文环境下日期通常这样显示03/30/2016,而在有的操作系统下它可能是这样的30.3.2016. 这样的话带来一个问题,例如在中文环境下 ...
- Linux--装好之后要做的几件事(转)
1.删除libreoffice libreoffice虽然是开源的,但是Java写出来的office执行效率实在不敢恭维,装完系统后果断删掉 sudo apt-get remove libreoffi ...
- Thinking in java学习笔记之LinkedList 与Stack
- oracle 表字段添加 修改 删除语法
修改列名 alter table 表明 rename column rename 老列名 to 新列名添加 字段alter table 表名 add(字段名 类型):删除字段alter table 表 ...
- 【BZOJ-1570】BlueMary的旅行 分层建图 + 最大流
1570: [JSOI2008]Blue Mary的旅行 Time Limit: 15 Sec Memory Limit: 162 MBSubmit: 388 Solved: 212[Submit ...
- 选择QT作为自己的图形库
图形库太多,公司里面一直使用自己的图形库,换一家公司,就换个图形库,现在公司没有对我开放图形库代码. 想来想去还是自己要有一套图形库,拿来主义最方便,选来选去感觉还是QT比较方便.同时能学习一下C++ ...