Spring-MVC基础教程

 1. 搭建环境
    1)导入Spring jar包
    2)在web.xml中启动Dispat cherservlet  
<!-- 启动SprigMVC -->	
<servlet>		
<servlet-name>user</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>		
<load-on-startup>1</load-on-startup>	
</servlet>	
<servlet-mapping>		
<servlet-name>user</servlet-name><url-pattern>/</url-pattern>	
</servlet-mapping>
   3)在WEB-INF中新建*-servlet.xml(名称要跟web.xml中的servlet名称一样)
       
              ①基于XML方式
                在该xml中配置基于beanName的Controller
        
<bean id="/welcome.html" class="cn.com.controllers.myController"></bean>

                     新建Controller
package cn.com.controllers;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;
public class myController extends AbstractController {	
@Override	
protected ModelAndView handleRequestInternal(HttpServletRequest request,HttpServletResponse response) throws Exception {	
       System.out.println("welcome");	
       return new ModelAndView("welcome");	
  }
}
        ②基于注解方式
 <!-- 打开SpringMVC 注解 -->	
<mvc:annotation-driven />	
<!-- 扫描bean -->	
<context:component-scan base-package="cn.com.controllers" />

            新建Controller
package cn.com.controllers;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
//Controller表示这个是控制器
@Controller
public class HelloController {		
   //RequestMapping表示用哪个URL来对应
   @RequestMapping("/hello")	
   public String Hello(String userName,Model model){		
   model.addAttribute("userName", userName);		
   System.out.println(userName);	
   return "hello";	
 }	
}

2. 如何完成Controller和viewer的映射
<!-- 配置视图 -->	
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">		
    <property name="prefix" value="/WEB-INF/jsp/" />		
    <property name="suffix" value=".jsp" />	
</bean>

3. 如何把值传递给Controller
//RequestMapping表示用哪个URL来对应
@RequestMapping("/hello")	
public String Hello(String userName){
	System.out.println(userName);		
        return "hello";	
}

4. Controller如何把值传递给viewer
//RequestMapping表示用哪个URL来对应	
@RequestMapping("/hello")	
public String Hello(Model model){		
       model.addAttribute("userName");		
       return "hello";	
}


5. 异常处理
①在Controller中配置
 /**	 
* 局部异常处理,仅仅只能处理这个控制器中的异常	 
* @param userException	 
* @return	 
*/	
@ExceptionHandler(UserException.class)	
public String handlerException(UserException e,HttpServletRequest request){		
   request.setAttribute("e",e);		
   return "error";	
}
②在*-servlet.xml中配置
<!-- 全局异常处理 -->	
<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">	
 <property name="exceptionMappings">			
   <props>				
     <prop key="cn.com.models.UserException">error</prop>			
   </props>		
 </property>	
</bean>

6. 使用Spring标签
<%@ taglib prefix="sf" uri="http://www.springframework.org/tags/form" %>

7.静态文件的管理
在*-servlet.xml中配置
<!-- 将静态文件指定到某个特殊的文件夹中统一处理 -->	
<mvc:resources location="/resources/" mapping="/resources/**" />

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值