1.spring MVC
spring MVC基于模型-视图-控制器(Model-View-Controller,MVC)模式实现;他能够构建像Spring框架那样灵活和松耦合的Web应用程序。
跟踪Spring MVC的请求:
2.构建Spring MVC(基于javaConfig)
1),构建maven项目
2),配置DispatchServlet
package com.springMVC.servlet;
import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;
public class SpiittrWebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer{
/**
*
*/
@Override
protected Class<?>[] getRootConfigClasses() {
// TODO Auto-generated method stub
return new Class<?>[] {RootConfig.class};
}
/**
*指定配置类
*/
@Override
protected Class<?>[] getServletConfigClasses() {
// TODO Auto-generated method stub
return new Class<?>[] {WebConfig.class};
// return null;
}
/**
* 将dispacherServlet映射到“/”
*/
@Override
protected String[] getServletMappings() {
// TODO Auto-generated method stub
return new String[] {"/"};
}
}
3),配置Spring MVc
package com.springMVC.servlet;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
@Configuration
@EnableWebMvc
@ComponentScan("com.springMVC")
public class WebConfig extends WebMvcConfigurerAdapter{
/**
* 配置jsp视图解析器
* @return
*/
@Bean
public ViewResolver viewResolver(){
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
resolver.setExposeContextBeansAsAttributes(true);
return resolver;
}
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer){
configurer.enable();
}
}
package com.springMVC.servlet;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.FilterType;
import org.springframework.context.annotation.ComponentScan.Filter;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
@Configuration
@ComponentScan(basePackages={"com.springMVC"},
excludeFilters={
@Filter(type = FilterType.ANNOTATION, value=EnableWebMvc.class)
})
public class RootConfig {
}
4),编写控制类
package com.springMVC.servlet;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
public class WelcomeController {
@RequestMapping(value="/", method=RequestMethod.GET)
public String welcome(){
return "welcome";
}
}
5),接下来便是定义页面(jsp:{basebuild}/WEB-INF/views/)
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page session = "false" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>firstSpringWeb</title>
</head>
<body>
<h1>Welcome</h1>
</body>
</html>
截止到此是一个最简单的纯java,没有xml的spring web应用程序welcome项目搭建成功
下节我们将介绍一个关于此框架的简单的表单提交,处理表单的过程;