入门案例,页面跳转

入门案例,页面跳转


控制层

package com.mvc.controller;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
//加上注解说明是一个控制层
@Controller
//每次都从新的对象中获取请求方法
@Scope("prototype")
//访问路径
@RequestMapping("user")
public class UserController {

	//指定对象别名
	@InitBinder("userEnt")
	public void initBinder(WebDataBinder binder){
		binder.setFieldDefaultPrefix("ue.");
	}
	//说明哈,这里指定对象别名,对应 “添加对象属性2”方法
************************************************************	
	//访问方法
	@RequestMapping(value="/t1")
	private String test1(){
		System.out.println("请求方法成功");
		return "admin/success";
		//这里说一哈 "admin/success" 表示的意思是:WebRoot 文件夹下的一个admin文件夹里面的success.jsp页面
	}
************************************************************
	//重定向 方式跳转
	@RequestMapping(value="/t2")
	public String test2(){
		System.out.println("===重定向跳转成功===");
		return "redirect:../admin/success.jsp";
	}
************************************************************	
	//手动接受参数
	@RequestMapping(value="/t3")
	public String test3(HttpServletRequest request){
		System.out.println("===手动接受参数====");
		String userName=request.getParameter("userName");
		String userSex=request.getParameter("userSex");
		System.out.println("userName"+userName+"======="+userSex);	
	
		return "admin/success";
	}
************************************************************	
	//自动结接受参数
	@RequestMapping(value="/t4")
	public String test4(String userName,String userSex,int userAge){
		System.out.println("===自动结接受参数====");
		System.out.println("userName==>"+userName);
		System.out.println("userSex==>"+userSex);
		System.out.println("userAge==>"+userAge);
		return "admin/success";
	}
************************************************************
	//添加对象属性
	@RequestMapping(value="/t5")
	public String test5(@ModelAttribute UserEnt ue,HttpServletRequest request,
			HttpSession session){
		
		System.out.println("===添加对象属性====");
		System.out.println("ue.getUserName()==>"+ue.getUserName());
		//存值
		request.setAttribute("reqUe", ue);
		session.setAttribute("sesUe", ue);
		session.getServletContext().setAttribute("serUe", ue);
		return "admin/success";
	}
************************************************************	
	//添加对象属性2
		@RequestMapping(value="/t52")
		public String test52(@ModelAttribute("userEnt") UserEnt ue,HttpServletRequest request,
				HttpSession session){
			
			System.out.println("===添加对象属性====");
			System.out.println("ue.getUserName()==>"+ue.getUserName());
			//存值
			request.setAttribute("reqUe", ue);
			session.setAttribute("sesUe", ue);
			session.getServletContext().setAttribute("serUe", ue);
			return "admin/success";
		}
************************************************************	
	//地址重写
	@RequestMapping(value="/{name}/{pwd}/{age}/{path}")
	public String test6(@PathVariable String name,@PathVariable String pwd,@PathVariable int age){
		System.out.println("===地址重写====");
		System.out.println("name==>>"+name+"===>>pwd==>>"+pwd+"===age====>"+age);
		return "admin/success";
	}
************************************************************	
	//使用 ModelAndView 对象返回界面传参数
	@RequestMapping("/t7")
	public ModelAndView test7(HttpServletRequest request, HttpServletResponse response){			
		System.out.println("===使用 ModelAndView 对象返回界面传参数====");
		//手动接受参数
		String name=request.getParameter("name");
		String pwd=request.getParameter("pwd");
		//存入对象
		UserEnt ue=new UserEnt();
		ue.setUserName(name);
		ue.setUserPwd(pwd);
		//创建模型对象指定跳转界面
		ModelAndView mav=new ModelAndView("admin/success");
		mav.addObject("user", ue);	
		return mav;
	}
}

applicationContext.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"
	   xmlns:context="http://www.springframework.org/schema/context"
	   xmlns:mvc="http://www.springframework.org/schema/mvc"
	   xsi:schemaLocation="http://www.springframework.org/schema/mvc 
	   					   http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd
					       http://www.springframework.org/schema/beans 
					       http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
						   http://www.springframework.org/schema/context
						   http://www.springframework.org/schema/context/spring-context-4.1.xsd">
	<!-- 启用注解 -->
	<context:component-scan base-package="com.mvc.controller"/>
	<!-- 配置视图解析器目标跳转的前后缀设置 -->
	-------------------------------写法1--------------------------------------------
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
		  		 p:prefix="/" p:suffix=".jsp"></bean>
	-------------------------------写法2--------------------------------------------
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
			<property name="prefix" value="/" />
			<property name="suffix" value=".jsp"/>	
	</bean>
	---------------------------------------------------------------------------

	//开启SpringMVC框架注解支持,这里开始入门可以不加
	<mvc:annotation-driven/>	
</beans>

web.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
  <display-name>z_SpringMVC_Web</display-name>
  <!-- ================================================================================  -->
  <!--配置dispatcherservlet控制器 -->
  <servlet>
	    <servlet-name>dispatcherServlet</servlet-name>
	  	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>	
	 	<!-- 作为初始化参数加载器配置文件 -->
	 	<init-param>
	 		 <param-name>contextConfigLocation</param-name>
	   		 <param-value>classpath:applicationContext.xml</param-value>
	 	</init-param>		
	 	<!-- 这里的意思就是:当服务器启动就加载当前的 servlet ;不等到数据请求的时候才创建该servlet -->
	 	<load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
	  	<servlet-name>dispatcherServlet</servlet-name>
	  	<url-pattern>/</url-pattern>
  </servlet-mapping>
  <!-- 请求中文乱码处理 -->
  <filter>
	    <filter-name>filterEncoding</filter-name>
	  	<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
	 	<init-param>
	 		<param-name>encoding</param-name>
	 		<param-value>UTF-8</param-value>
	 	</init-param>	
  </filter>
  <filter-mapping>
	  	<filter-name>filterEncoding</filter-name>
	  	<url-pattern>/*</url-pattern>
  </filter-mapping>
  <!-- ================================================================================  -->
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>  
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list> 
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml</param-value>
  </context-param> 
</web-app>

页面请求

		<a href="user/t1">跳转页面</a>
    	-------------------------------------------------------------------------------
    	<a href="user/t2">重定向跳转</a>
    	-------------------------------------------------------------------------------
    	<a href="user/t3?userName='小白'&userSex='男'">手动接受参数</a>    	
    	-------------------------------------------------------------------------------
    	<a href="user/t4?userName='小白'&userSex='男'&userAge=20">自动结接受参数</a>
    	-------------------------------------------------------------------------------
    	添加对象属性
    	<form action="user/t5" method="post">
	    	userId:<input type="text" name="userId"><br>
	    	userName:<input type="text" name="userName"><br>
	    	userPwd:<input type="text" name="userPwd"><br>
	    	userPhone:<input type="text" name="userPhone"><br>
	    	userAge:<input type="text" name="userAge"><br><br>
					<input type="submit" value="提交">
    	</form>
    	-------------------------------------------------------------------------------
    	添加对象属性2
    	<form action="user/t52" method="post">
	    	userId:<input type="text" name="ue.userId"><br>
	    	userName:<input type="text" name="ue.userName"><br>
	    	userPwd:<input type="text" name="ue.userPwd"><br>
	    	userPhone:<input type="text" name="ue.userPhone"><br>
	    	userAge:<input type="text" name="ue.userAge"><br><br>
					<input type="submit" value="提交">
    	</form>
    	-------------------------------------------------------------------------------
    	<a href="user/'小白'/'123456'/20/test6">地址重写</a>
    	-------------------------------------------------------------------------------
    	<a href="user/t7?name='小白'&pwd='123456'">使用 ModelAndView 对象返回界面传参数</a>
     	-------------------------------------------------------------------------------

success.jsp

		 成功跳转....
   		 session: ${sesUe.userName}		
   		 request: ${reqUe.userName} 
   		 ModelAndView :${user.userName}

这里说哈 注解 “requestMapper ” 属性

requestMapper属性:path、value、method、params、headers

@requestMapper(path="/user") = @requestMapper(value="/user") 

@requestMapper("/user")(只有一个属性的时候)= @requestMapper(value="/user")

   	//method={RequestMethod.post}:表示请求的方法必须是post方式
@requestMapper(value="/user",method={RequestMethod.post})
		<a href="user">访问数据</a>  //这里a 标签访问默认get请求,而方法要求的是post请求方式,所以,此a标签访问失败
	
	//params={}表示限制指定请求参数的条件,它支持简单的表达式。要求请求参数的key和value必须和配置一摸一样
@requestMapper(value="/user",method={RequestMethod.get},params={"username=tt"})
	<a href="user?username=tt">访问数据</a>

	//headers={"Accept"}:表示请求头
@requestMapper(value="/user",method={RequestMethod.get},params={"username=tt"},headers={"Accept"})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值