如何用纯Java配置在IDEA中构建一个最小SpringMVC项目?

2026-05-29 15:564阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计885个文字,预计阅读时间需要4分钟。

如何用纯Java配置在IDEA中构建一个最小SpringMVC项目?

1. 创建SpringMVC的Web项目File -> New -> Project.. 选择SpringMVC和WebApplication,点击Next,填写Project name: hello,点击Finish。IDEA会自动下载所需的SpringMVC的jar包。

2. 代码编写参考《Spring实战》一书。

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

如何用纯Java配置在IDEA中构建一个最小SpringMVC项目?

4. 测试

浏览器访问 localhost:8080/home

显示

hello world

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

本文共计885个文字,预计阅读时间需要4分钟。

如何用纯Java配置在IDEA中构建一个最小SpringMVC项目?

1. 创建SpringMVC的Web项目File -> New -> Project.. 选择SpringMVC和WebApplication,点击Next,填写Project name: hello,点击Finish。IDEA会自动下载所需的SpringMVC的jar包。

2. 代码编写参考《Spring实战》一书。

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

如何用纯Java配置在IDEA中构建一个最小SpringMVC项目?

4. 测试

浏览器访问 localhost:8080/home

显示

hello world

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。