SpringMvc001

SpringMvc:

  1. 创建web工程,在WebRoot>WebInf>lib目录下增加springmvc的依赖包
    在这里插入图片描述
    用户访问前端控制器,前端控制器和后端控制器进行交互,后端控制器再访问JavaBean将Model或者ModelAndView返回给前端控制器,前端控制器再访问jsp进行数据可视化的渲染
    1.1jsp中使用javabean的好处如下:
    提高代码的可复用性:对于通用的事务处理逻辑,数据库操作等都可以封装在daoJavaBean中,通过调用JavaBean的属性和方法可快速进行程序设计。
    程序易于开发维护:实现逻辑的封装,使事务处理和显示互不干扰。
    支持分布式运用:多用JavaBean,尽量减少java代码和html的混编。

  2. 配置springmvc的前端控制器


```java
	<servlet>
		<servlet-name>springMvc</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

		<!--配置初始化参数 -->
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>classpath:springmvc-servlet.xml</param-value>
		</init-param>

		<!-- 配置启动的优先级 -->
		<load-on-startup>1</load-on-startup>
	</servlet>

	<!--配置servlet的映射 -->
	<servlet-mapping>
		<servlet-name>springMvc</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>

 4. 创建实体类

```java
public class User {
	private String id;
	private String userName;
	private String password;
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	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;
	}
}
  • 创建控制器类
    4.1 @Controller
    @RequestMapping("/user") :既可以用于类,也可以用于方法

    4.2 处理器传参:

     a.  方法名直接入参
     b. @RequestParam(value="userNo",required=true,defaultValue="001"
    

    4.3 数据封装返回:
    SpringMVC中的Model和ModelAndView主要区别

    1.Model是每次请求中都存在的默认参数,利用其addAttribute()方法即可将服务器的值传递到jsp页面中;
    2.ModelAndView包含model和view两部分,使用时需要自己实例化,利用ModelMap用来传值,也可以设置view的名称
    3.Model只是用来传输数据的,并不会进行业务的寻址。但是,ModelAndView却是可以进行业务寻址的,就是设置对应的要请求的静态文件,这里的静态文件指的是类似jsp的文件。

     4.3.1  ModelAndView 
     	ModelAndView mav=new ModelAndView();
     		map.put("username", "司马懿");
     map.put("password", "123456");
     
     mav.addAllObjects(map);
     mav.addObject("uname","大美女");
     
     mav.setViewName("simayi");
     
     4.3.2 Model
     
     	//model.addAttribute("users",user);
     model.addAttribute(user);
    
  1. SpringMvc+Spring+jdbc实现用户登录开发

    5.1 创建工程,增加依赖
    5.2 创建实体类
    5.3 创建数据访问层
    5.4 创建业务逻辑层
    5.5 创建控制器
    5.6 创建spring、SpringMvc的配置文件

<!-- 配置数据访问层和业务逻辑层包的扫描 -->
	<context:component-scan base-package="com.oupeng.user.dao"></context:component-scan>
	<context:component-scan base-package="com.user.service.impl"></context:component-scan>


	<!-- 增加对控制器所在包的扫描 -->
	<context:component-scan base-package="com.oupeng.controller"></context:component-scan>
		
5.7 web.xml

```java
	<!-- 加载Spring的配置文件 -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:applicationContext-jdbc.xml</param-value>
	</context-param>

	<!-- 配置监听器 -->
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>

<servlet>
		<servlet-name>springMvc</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

		<!--配置初始化参数 -->
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>classpath:springmvc-servlet.xml</param-value>
		</init-param>

		<!-- 配置启动的优先级 -->
		<load-on-startup>1</load-on-startup>
	</servlet>


6. SpringMvc的异常处理

	

```java
局部异常处理:某个控制器类

			@ExceptionHandler(value=RuntimeException.class)

	全局异常处理:对整个项目

			<!-- 全局异常 -->
	<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
		<property name="exceptionMappings">
		<props>
		<prop key="java.lang.RuntimeException">
			error
		</prop>
		</props>
		</property>
	</bean>
  1. SpringMvc的静态资源访问

      <mvc:resources location="/statics/" mapping="sta/**"></mvc:resources>
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值