SpringMVC简单配置

执行流程

页面请求---->web.xml---->DispatcherServlet---->HandlerMapping---->Controller---->ModelAndView---->ViewResolver---->View

一、配置文件实现MVC

1、导入相应的jar包

2、配置web.xml文件:配置DispatcherServlet



  
  	springMVC
    
  	org.springframework.web.servlet.DispatcherServlet
  	
        
  		contextConfigLocation
  		classpath:applicationContext.xml
  	
  	1
  
  
  	springMVC
  	*.do
  



a.	servlet-class的值是一个jar包中的DispatcherServlet类

b.	标签中的标签中写入contextConfigLocation这个值是固定的,他是dispathcherServlet中的一个属性。标签中写入classpath:SpringMVC的配置文件地址。

c.	配置值为1即在项目启动时创建servlet对象

d.	配置servlet-mapping

3、配置Spring配置文件:配置HandlerMapping、ViewResolver



	
        
	
	
		
			
				loginController
			
		
	
	
	
		
		
		
		
		
	

4、模拟创建一个Controller类

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.ui.ModelMap;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

public class LoginController implements Controller {

	@Override
	public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse resp) throws Exception {
		req.setCharacterEncoding("utf-8");
		String username = req.getParameter("username");
		String password = req.getParameter("password");
		System.out.println(username + ", " + password);
		if("老罗".equals(username) && "1234".equals(password)) {
                        //根据配置文件访问/success.jsp
			return new ModelAndView("success");
		}
		// 转发错误信息
		ModelMap map = new ModelMap();
		map.put("error", "用户名或密码错误");
                //根据配置文件访问/index.jsp
		return new ModelAndView("index", map);
	}
}

5、一个简单的jsp页面

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>



  
    
    
    登录
	
	
	    
	
	
	
  
  
  
    
用户名${error}
密码

二、注解实现MVC

1、jar包必不可少

2、web.xml和上面的一样

3、Spring配置文件里只需要两行

    
    
    
    

4、Controller类就不一样喽,这次我们不需要去实现Controller接口了。

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.ui.ModelMap;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

@Controller
@RequestMapping("/user")
public class LoginController {

	@RequestMapping("/login.do")
	@ResponseBody	
	public String login(String username ,String password) {
		if("老罗".equals(username) && "1234".equals(password)) {
			//向页面返回success
			return "success";
		}
		//向页面返回失败信息
		return "fail";
	}
}


如果不加@ResponseBody	return返回值则内部消化

return "/index.jsp";  //转发到index.jsp页面
return "redirect:/index.jsp";  //重定向到index.jsp页面

return "/user/login.do";  //转发给/user/login.do方法
return "redirect:/user/login.do";  //重定向到/user/login.do方法

5、这回页面就需要通过js进行请求和判断了,很简单,我就不写了!

你可能感兴趣的:(框架,随笔)