其实,本来想直接学Spring Boot的,后面发现很多东西没看明白,于是就想先学学Spring MVC,理解它的工作原理。
在我的这个项目中,采用Maven进行管理。
pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="maven.apache./POM/4.0.0" xmlns:xsi="w3./2001/XMLSchema-instance"xsi:schemaLocation="maven.apache./POM/4.0.0 maven.apache./xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>.jxufe</groupId><artifactId>springmvc3</artifactId><version>0.0.1-SNAPSHOT</version><packaging>war</packaging><properties><java.version>1.8</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.build.outputEncoding>UTF-8</project.build.outputEncoding><!-- web --><jsp.version>2.2</jsp.version><jstl.version>1.2</jstl.version><servlet.version>3.1.0</servlet.version></properties><dependencies><dependency><groupId>javax</groupId><artifactId>javaee-web-api</artifactId><version>7.0</version><scope>provided</scope></dependency><dependency><groupId>mons-io</groupId><artifactId>mons-io</artifactId><version>2.5</version></dependency><!-- Spring MVC --><dependency><groupId>.springframework</groupId><artifactId>spring-webmvc</artifactId><version>3.2.17.RELEASE</version></dependency><!-- 其他web依赖 --><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>${jstl.version}</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>${servlet.version}</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>${jsp.version}</version><scope>provided</scope></dependency></dependencies><build><plugins><plugin><groupId>.apache.maven.plugins</groupId><artifactId>maven-piler-plugin</artifactId><version>2.3.2</version><configuration><source>${java.version}</source><target>${java.version}</target></configuration></plugin><plugin><groupId>.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId><version>2.3</version><configuration><failOnMissingWebXml>false</failOnMissingWebXml></configuration></plugin></plugins></build>
</project>
在src/main/resources下建立views目录,并在此目录下新建index.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "w3./TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>吴梓妍!!!
</body>
</html>
Spring MVC配置:
package .jxufe;import .springframework.context.annotation.Bean;
import .springframework.context.annotation.ComponentScan;
import .springframework.context.annotation.Configuration;
import .springframework.web.servlet.config.annotation.EnableWebMvc;
import .springframework.web.servlet.view.InternalResourceViewResolver;
import .springframework.web.servlet.view.JstlView;@Configuration
@EnableWebMvc
@ComponentScan(".jxufe")
public class Config {@Beanpublic InternalResourceViewResolver viewResolver() {InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();viewResolver.setPrefix("/WEB-INF/classes/views/");viewResolver.setSuffix(".jsp");viewResolver.setViewClass(JstlView.class);return viewResolver;}}
Web配置:
package .jxufe;import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRegistration.Dynamic;import .springframework.context.annotation.AnnotationConfigApplicationContext;
import .springframework.web.WebApplicationInitializer;
import .springframework.web.context.support.AnnotationConfigWebApplicationContext;
import .springframework.web.servlet.DispatcherServlet;public class WebInitializer implements WebApplicationInitializer {@Overridepublic void onStartup(ServletContext servletContext) throws ServletException {AnnotationConfigWebApplicationContext annotationConfigWebApplicationContext = new AnnotationConfigWebApplicationContext();annotationConfigWebApplicationContext.register(Config.class);annotationConfigWebApplicationContext.setServletContext(servletContext);Dynamic servlet = servletContext.addServlet("dispatcher", new DispatcherServlet(annotationConfigWebApplicationContext));servlet.addMapping("/");servlet.setLoadOnStartup(1);}
}
简单控制器:
package .jxufe;import .springframework.stereotype.Controller;
import .springframework.web.bind.annotation.RequestMapping;@Controller
public class HelloController {@RequestMapping("/index")public String hello() {return "index";}
}
更多推荐
Spring,MVC,World
发布评论