`

springmvc 实现登录跳转

 
阅读更多
MVC中完整的C(包含控制逻辑+功能处理)由(DispatcherServlet + Controller)组成
web.xml下的配置

	<servlet>
<!--		对应spring的配置文件 servletname-servlet.xml-->
	<servlet-name>springMVC</servlet-name>
	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
	<init-param>
<!--		自定义servlet.xml配置文件的位置和名称 默认为WEB-INF目录下,名称为[<servlet-name>]-servlet.xml	-->
		<param-name>contextConfigLocation</param-name>
		<param-value>/WEB-INF/springMVC-servlet.xml</param-value>
	</init-param>
	<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>springMVC</servlet-name>
		<url-pattern>*.do</url-pattern>
	</servlet-mapping>	

 springmvc-servlet.xml

<context:annotation-config />
	<!-- 设置使用注解的类所在的jar包 -->
	<context:component-scan base-package="controller"></context:component-scan>
	<!-- 完成请求和注解POJO的映射 -->
	<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
	<!-- 对转向页面的路径解析。prefix:前缀, suffix:后缀 -->
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/jsp/" p:suffix=".jsp" />
	 <!-- 处理器 -->
    <bean name="/test/login.do" class="com.dnion.spring.TestController"/>

 TestController.xml

package com.dnion.spring;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.view.RedirectView;
 
@Controller  //类似struts的Action
public class TestController {
	@RequestMapping("test/login.do")//请求url地址映射
	//@RequestParam("username") 请求url地址映射中必须含有的参数
	//request 和response不必一定出现在方法中
	//参数名与页面控件name相匹配
	public String testLogin(@RequestParam("username")String username,String password){
		if(!"admin".equals(username)||!"admin".equals(password)){
			return "loginError";//跳转页面路径,不需要配置文件中配置的前缀和后缀
		}
		return "loginSuccess";
	}
	
	@RequestMapping("/test/login2.do")
	public ModelAndView testLogin2(@RequestParam("username")String username,String password,int age){
		if(!"admin".equals(username)||!"admin".equals(password)||age<5){
			return new ModelAndView("loginError");//与return "loginError"效果相同
		}
		return new ModelAndView(new RedirectView("../index.jsp"));
	}
}

 在控制器的类名以及方法名上配置@RequestMapping

package com.dnion.spring;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/test3/*")
public class TestController3 {
	@RequestMapping("login.do")//该方法处理的action编程/test3/login.do
	 public String testLogin(String username, String password, int age) {
	  if (!"admin".equals(username) || !"admin".equals(password) || age < 5) {
	      return "loginError";
	   }
		  return "loginSuccess";
	   }
}

 

分享到:
评论
1 楼 ywyshygdmx 2013-05-07  
有见解

相关推荐

Global site tag (gtag.js) - Google Analytics