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方法。
精彩科技工作室