IDEA快速搭建Spring MVC项目指南

需积分: 5 0 下载量 123 浏览量 更新于2024-08-05 收藏 657KB DOC 举报
"本文将详细介绍如何使用IntelliJ IDEA(简称IDEA)创建一个Spring MVC项目,包括项目创建、目录结构设置、Jetty服务器配置、Web.xml与dispatcher-servlet.xml的配置,以及HelloController和视图JSP页面的编写。" 在开发Java Web应用程序时,Spring MVC框架是一个常用的解决方案,它提供了模型-视图-控制器架构,帮助开发者构建可维护、可扩展的Web应用。以下是使用IDEA创建Spring MVC项目的步骤: 1. 创建项目 首先,打开IDEA并选择"New Project",然后在左侧列表中选择"Spring Initializr"。在这里,你可以配置项目的基本属性,如项目名称、Group ID、Artifact ID、版本等,并勾选"Spring Web"依赖,这将自动为你添加Spring MVC的相关库。 2. 目录结构 创建项目后,你会看到默认的目录结构。主要关注以下几个部分: - `src/main/java`:存放Java源代码,通常按照包结构组织。 - `src/main/resources`:存放配置文件和其他非Java资源。 - `src/main/webapp`:Web应用的根目录,包含`WEB-INF`目录,用于放置Web应用特有的配置文件和静态资源。 3. 创建Jetty服务器 IDEA支持多种服务器,包括Tomcat、Jetty等。在这里,我们选择Jetty。在"File" -> "New" -> "Module" -> "Dynamic Web Module"中创建一个新的Web模块,然后在"Run/Debug Configurations"中配置Jetty Server,指定你的Web模块。 4. 创建目录和文件 在`WEB-INF`目录下创建`page`文件夹,用于存放JSP页面。同时,在`page`目录下创建`index.jsp`。删除`src/main/webapp`目录外的`index.jsp`,确保所有Web资源都在正确的目录下。 5. 创建包和控制器 在`src/main/java`目录下,创建`com.dosmono.controller`包,然后在该包内创建`HelloController.java`。这个控制器类通常包含处理HTTP请求的方法。 6. Web.xml配置 在`src/main/webapp/WEB-INF`目录下,编辑`web.xml`文件,配置Spring的DispatcherServlet和Servlet监听器,使Spring MVC框架生效。 7. dispatcher-servlet.xml配置 在`src/main/webapp/WEB-INF`目录下,创建`dispatcher-servlet.xml`文件,这是Spring MVC的配置文件,用于配置视图解析器、组件扫描、处理器映射器等。 8. 编写HelloController 在`HelloController.java`中,定义一个处理请求的方法,例如`@RequestMapping("/hello")`,并返回一个视图名,如"hello"。 9. 编写JSP页面 `index.jsp`是应用的主页面,通常包含一些导航链接。在这个例子中,它可能会有一个链接指向`/hello`,触发`HelloController`的处理方法。 10. 运行服务 配置完成后,可以直接在IDEA中启动Jetty服务器,然后在浏览器中访问`http://localhost:8080/your-context-path/hello`来查看应用效果。 通过以上步骤,你就成功地在IDEA中搭建了一个基础的Spring MVC项目。随着项目的进展,你还可以添加更多的控制器、服务层、数据访问层组件,以及复杂的视图和路由逻辑,以满足更复杂的应用需求。

postman接口调用idea,idea控制台报错org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'text/plain;charset=UTF-8' not supported at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.readWithMessageConverters(AbstractMessageConverterMethodArgumentResolver.java:225) at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:158) at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:131) at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121) at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:170) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:807) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1061) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:961) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)

2023-06-08 上传