springMVC初体验

        spring框架的扩展性相信大家已经有目共睹了,其提供了构建WEB应用程序的MVC模块,可以选择很多优秀的开源WEB框架。而spring MVC框架就是spring提供的一种可高度配置、包含多种视图技术的优秀框架。

      

Spring3 MVC的优点:

1、Spring3 MVC使用简单,学习成本低。学习难度小于Struts2,Struts2用不上的多余功能太多。呵呵,当然这不是决定因素。

2、Spring3 MVC很容易就可以写出性能优秀的程序,Struts2要处处小心才可以写出性能优秀的程序(指MVC部分)

3、Spring3 MVC的灵活是你无法想像的,Spring框架的扩展性有口皆碑,Spring3 MVC当然也不会落后,不会因使用了MVC框架而感到有任何的限制。

下面我们就来学习一下这个优秀的框架:

1、新建一个web工程,加入必须的依赖包:

(1)spring-3.0.6.jar

(2)spring-webmvc-3.0.6.jar

(3)jstl-1.2.jar

2、编写web.xml定义springMVC最基本的servlet--DispatcherServlet

<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>
			classpath*:spring/spring_*.xml
		</param-value>
	</context-param>
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
	
	<servlet>
		<servlet-name>relax</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>
	
	<servlet-mapping>
		<servlet-name>relax</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>

 3、因为servlet的name是relax,则在WETA-INF下新建一个relax-servlet.xml(默认),配置springMVC的视图和映射等等。

<context:component-scan base-package="com.relax.controller"></context:component-scan>
	 <!-- 使用Annotation -->
	 <mvc:annotation-driven />
	 <!-- 访问静态资源 -->
	<mvc:resources mapping="/images/**" location="/images/" cache-period="31556926"/>  
    <mvc:resources mapping="/js/**" location="/js/" cache-period="31556926"/>  
    <mvc:resources mapping="/css/**" location="/css/" cache-period="31556926"/>  
	 
	<!-- 配置视图 -->  
	<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
	    <property name="viewClass">  
	        <value>org.springframework.web.servlet.view.JstlView</value>  
	    </property>  
	    <!-- url前缀 -->
	    <property name="prefix">  
	        <value>/view/</value>  
	    </property>  
	    <!-- url后缀 -->
	    <property name="suffix">  
	        <value>.jsp</value>  
	    </property>  
	</bean>

 4、编写登录页面(login.jsp)包含用户名和密码两个输入框

5、编写页面对应的处理器Controller

@Controller
public class LoginController {
	
	@Autowired
	private UserService userService;
	
	public LoginController(){
		System.out.println("init");
	}

	@RequestMapping(value={"/login"})//配置映射
	public String login(){
		return "login";//根据视图的配置,其对应的页面是/view/login.jsp
	}
	
	@RequestMapping(value="/loginForm")
	public String onLogin(HttpServletRequest req,Map<String,Object> map){
		String name=req.getParameter("name");
		String password=req.getParameter("password");
		User user=userService.login(name, password);
		if(user==null){
			map.put("message", "fail");
			return "login";
		}
		return "";
	}
	
	
}

 6、部署到tomcat,输入http://localhost:8080/工程名/login即映射到LoginController的login方法

登录页面的form中的action为loginForm,则当form提交时会映射到LoginController的onLogin方法。

精彩科技工作室

猜你喜欢

转载自yaolinnan.iteye.com/blog/1834939