Spring MVC Setting up - Tuong-Nguyen/Spring GitHub Wiki
This wiki covers the following:
- Development environment
- Create a Spring MVC project
- Setup a simplest Spring MVC configuration to be able to run the controller. The configuration will be set up by java code, not xml
- Open Settings by pressing
Ctrl+Alt+SorFile | Settings - On Application Servers click
and choose Tomcat Server
- Select Tomcat Home by browsing to extract Tomcat Server folder (ex:
C:\apache-tomcat-7.0.77) - Click OK
- Press
Ctrl+Shift+Alt+Sor chooseFile | Project Structureon the main menu. - In the Project Structure Dialog, choose SDK's under the Platform Settings.
- Click
and choose JDK.
- In JDK home path, browse to Jdk install folder (ex:
C:\Program Files\Java\jdk1.8.0_121) - Click OK
Clear all config in /web/WEB-INF/web.xml file
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<!--Clear all content here-->
</web-app>- Press
Ctrl+Shift+Alt+Sor chooseFile | Project Structureon the main menu. - In the Project Structure Dialog, choose Modules's under the Project Settings.
- Open tab Dependencies, click
and choose Libraries
- Select Tomcat 7.0.77 under Application Server Libraries
- All config classes are placed on
/src/spitter/configfolder (splitter is application name), it meansspitter.configpackage
Create SpittrWebAppInitializer class
public class SpittrWebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class<?>[] { RootConfig.class };
}
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class<?>[] { WebConfig.class };
}
@Override
protected String[] getServletMappings() {
return new String[] { "/" };
}
}- Create
WebConfigclass
@Configuration
@EnableWebMvc
@ComponentScan("spitter.web")
public class WebConfig extends WebMvcConfigurerAdapter {
@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();
}
}- Simple
RootConfigclass
@Configuration
@ComponentScan(basePackages={"spitter"},
excludeFilters={
@ComponentScan.Filter(type= FilterType.ANNOTATION, value=EnableWebMvc.class)
})
public class RootConfig {
}Create HomeController class in the spitter.web.controller package (placed in /src/spitter/web/controllers)
@Controller
public class HomeController {
@RequestMapping(value="/spitter/", method= RequestMethod.GET)
public String home(){
return "home";
}
}Create home.jsp in /web/WEB-INF/views/
<%@ taglib prefix="c" uri="http://www.springframework.org/tags" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Welcome to Spitter</title>
</head>
<body>
<h1>Welcome to Spittr</h1>
<a href="<c:url value="/spittles" />">Spittles</a> |
<a href="<c:url value="/spitter/register" />">Register</a>
</body>
</html>- Open Settings by pressing
Ctrl+Alt+SorFile | Settings - On Settings choose Build, Execution, Development -> Build Tools -> Maven
- In Maven look for ** User setting file:** to get maven setting file locaion (EX: "C:\Users\mypc.m2\setting.xml").
- Open maven setting file "settings.xml"
- Add proxy node config follow:
<proxies>
<proxy>
<id></id>
<active>true</active>
<protocol>http</protocol>
<host>proxy.tma.com.vn</host>
<port>8080</port>
<username></username>
<password></password>
<nonProxyHosts>www.google.com|*.example.com</nonProxyHosts>
</proxy>
</proxies>
and choose Tomcat Server