对于SpringMVC技术中的非注解映射器BeanNameUrlHandlerMapping和注解映射器的用法的分享

一:BeanNameUrlMapping

顾名思义,这个映射器就是将一个bean的name作为一个url来进行页面跳转的一种映射。所以首先我们需要一个类,这个类用以实现页面的创建或者跳转。于是我们创建了:

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 UserHandler implements Controller{

	@Override
	public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
		ModelAndView mav = new ModelAndView();
        mav.setViewName("Success.jsp");
        return mav;
	}

}

这里我所使用的是执行跳转,所以我们要创建一个Success.jsp页面,随便写一个:
在这里插入图片描述
其中我们注意到我们使用的这个类是实现了Controller这个接口的一个handleRequest的方法的,然后返回值是一个视图对象。然后我们需要在SpringMVC.xml中为器配置适配器和试图解析器解析器:

<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"></bean>

至于适配器和解析器这里不加赘述。然后就是核心了,我们之创建了Handler类,现在需要为其配置一个bean用以对其进行匹配。故我们在SpringMVC.xml文件中配置一个bean:

<bean name="/welcome" class="com.javaweb.sample.controller.UserHandler"></bean>

其中"/welcome"即为我们所需要匹配的url,而它的class也就是我们的实现类了。
然后我们创建一个初始界面:
在这里插入图片描述
点击Click便可以跳转:
在这里插入图片描述

二:使用注解映射器

相对于前者,注解映射器很简单,它有两种配置方法:
1:我们在SpringMVC.xml中配置:

<bean class="org.springframework.web.serv.et.mvc.method.annotation.RequestMappingHandlerMapping"></bean>
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"></bean>

或者
2:我们在SpringMVC.xml中配置:

<mvc:annotation-driven></mvc:annotation-driven>

前者是完整写法,后者是简写模式,实际效果是一样的。不过仅仅只写这个是无法成功实现功能的,我们需要为两者都添加一个:

<context:component-scan base-package="com.javaweb.sample.controller"></context:component-scan>

这个前面两者的配置是为MVC添加了一个注解映射器功能,而这个配置则是告诉注解映射器它需要在什么地方找到这个使用注解的实现类,故而这个package便是我们使用注解类的包名。
然后我们创建这个实现类:

package com.javaweb.sample.controller;//这里就是上面我们所配置的包名了

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class UserController {
@RequestMapping("/Hello.do")
public ModelAndView Jump() {
	ModelAndView mav=new ModelAndView();
	mav.setViewName("Success.jsp");
	return mav;
}
}

此时我们再创建一个界面:
在这里插入图片描述
点击CLick便可以实现页面的跳转了。不过要另外注意的是假如有出现404的错误,检查一下web.xml中有没有为url-pattern配置完整:
在这里插入图片描述
我们这里使用了两个do的后缀匹配和"/"匹配,事实上直接写全匹配也是可以的.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值