1. 新建 SpringMVC 的 Web 项目
File - New - Project.. 勾选 SpringMVC 和 WebApplication ,点击Next 填写 Project name : hello 点击 Finish IDEA 会自动下载所需的 SpringMVC 的 jar 包
2. 代码编写
代码参考 《Spring 实战》(第四版),本文和书中代码略有差异
删除不需要的配置文件
删除 WEB-INF 下的 web.xml 删除 WEB-INF 下的 dispatcher-servlet.xml 删除 WEB-INF 下的 applicationContext.xml 删除 web 下的 index.jsp
编写 JavaConfig 文件
新建 package : com.yangrd.springmvc.config 新建 配置文件 HelloWebAppInitializer.java
package com.yangrd.springmvc.config;import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;public class HelloWebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer { @Override protected Class<?>[] getRootConfigClasses() { System.out.println("getRootConfig"); return new Class<?>[]{RootConfig.class}; } @Override protected Class<?>[] getServletConfigClasses() { System.out.println("getServletConfig"); return new Class<?> []{WebConfig.class}; } @Override protected String[] getServletMappings() { System.out.println("getServletMappings"); return new String[]{"/"}; }}
新建配置文件 RootConfig.java
package com.yangrd.springmvc.config;import org.springframework.context.annotation.ComponentScan;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.FilterType;import org.springframework.web.servlet.config.annotation.EnableWebMvc;@Configuration@ComponentScan(basePackages = {"com.yangrd.springmvc"}, excludeFilters = {@ComponentScan.Filter(type= FilterType.ANNOTATION,value = EnableWebMvc.class)})public class RootConfig {}
新建配置文件 WebConfig.java
package com.yangrd.springmvc.config;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.yangrd.springmvc.controller")public class WebConfig extends WebMvcConfigurerAdapter { @Bean public ViewResolver viewResolver(){ InternalResourceViewResolver resolver = new InternalResourceViewResolver(); resolver.setPrefix("/WEB-INF/views/"); resolver.setSuffix(".html"); resolver.setExposeContextBeansAsAttributes(true); return resolver; } @Override public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer){ configurer.enable(); }}
编写 Controller
新建 package : com.yangrd.springmvc.controller 新建 文件 HelloController.java
package com.yangrd.springmvc.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import static org.springframework.web.bind.annotation.RequestMethod.GET;/** * */@Controller //声明为一个控制器public class HelloController { @RequestMapping(value = "/home",method = GET)//处理对 “/” 的 GET 请求 public String hello(){ return "hello"; //逻辑视图名为hello }}
编写 view 文件
在 WEB-INF 下新建文件夹 views 在 views 文件夹下新建 hello.html
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Hello</title></head><body> hello world</body></html>
3. Tomcat 的配置和启动
配置tomcat服务
点击 IDEA 右上角 绿色的小锤子图标旁的 Add Configuration... 在弹出页面中,点击加号 选择 Tomcat Server - Local 填写 Name : helloServer 点击 Deployment - 点击 + ,选择 Artifact 点击 Apply, OK
将Sping MVC 相关包放到 Web 工程 中的 lib 下
File - Project Structure... 选择 Artifacts 在右侧的 Available Elements 中 hello 下 有两个 Spring 的jar上,右键 选择 `Put into /WEB-INF/lib 点击 Apply - OK
启动tomcat
这是启动tomcat 会报错
Error:(5, 8) java: 无法访问javax.servlet.ServletException 找不到javax.servlet.ServletException的类文件
这时需要添加 javax.servlet-api
4. 测试
浏览器访问 http://localhost:8080/home
显示
hello world
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
本文标题: 在IDEA中搭建最小可用SpringMVC项目(纯Java配置)
以上就上有关在IDEA中搭建最小可用SpringMVC项目(纯Java配置)的相关介绍,要了解更多IDEA搭建SpringMVC项目,IDEA搭建SpringMVC内容请登录学步园。