您好,登錄后才能下訂單哦!
小編給大家分享一下如何在IDEA中搭建最小可用SpringMVC項目,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
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項目”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。