征信网站开发,校园网站建设合同百度文库,淄博公司制作网站有哪些,成都软件外包开发✅作者简介#xff1a;大家好#xff0c;我是Leo#xff0c;热爱Java后端开发者#xff0c;一个想要与大家共同进步的男人#x1f609;#x1f609; #x1f34e;个人主页#xff1a;Leo的博客 #x1f49e;当前专栏#xff1a; 开发环境篇 ✨特色专栏#xff1a; M…✅作者简介大家好我是Leo热爱Java后端开发者一个想要与大家共同进步的男人 个人主页Leo的博客 当前专栏 开发环境篇 ✨特色专栏 MySQL学习 本文内容 IIDEA2023创建SpringMVC项目 个人知识库 Leo知识库欢迎大家访问
1. 前言
大家好我是Leo哥有朋友问我关于新版本的IDEA如何创建SpringMVC项目或者是SSM项目并配置Web支持呢。这个问题在我刚升级新版本也是琢磨了很久现在整理分享给大家。
2. 创建项目
我们这里以创建SpringMVC项目为例SSM项目同理。不过我们以原生Maven的方式创建当然也可以通过快捷的 Archetype org.apache.maven.archetypes:maven-archetype-webapp 进行创建但是这不是我们今天的主题。不多废话直接开始吧。
创建项目 3. 导入依赖
dependencies!-- Spring MVC依赖 --dependencygroupIdorg.springframework/groupIdartifactIdspring-webmvc/artifactIdversion6.1.4/version/dependency!--日志框架Logback依赖--dependencygroupIdch.qos.logback/groupIdartifactIdlogback-classic/artifactIdversion1.5.3/version/dependency!--Servlet依赖--dependencygroupIdjakarta.servlet/groupIdartifactIdjakarta.servlet-api/artifactIdversion6.0.0/versionscopeprovided/scope/dependency!--Spring6和Thymeleaf整合依赖--dependencygroupIdorg.thymeleaf/groupIdartifactIdthymeleaf-spring6/artifactIdversion3.1.2.RELEASE/version/dependency/dependencies4. 添加Web支持
首先需要先在main 目录下面创建一个文件夹webapp。 然后打开Project Structure 添加Web依赖如果有的话可以胜率这一步。 然后点击Web添加一个Deploymentt Descriptors 这里注意要和自己的路径保持一致如果不一致按照我这个格式进行改 然后就是 Deployment 版本选择6即可。 然后点击applyOK即可看到xml说明我们配置成功了。 5. 其他配置
5. 1 配置Web.xml
Spring MVC是一个web框架在javaweb中谁来负责接收请求处理请求以及响应呢当然是Servlet。在SpringMVC框架中已经为我们写好了一个Servlet它的名字叫做DispatcherServlet我们称其为前端控制器。既然是Servlet那么它就需要在web.xml文件中进行配置
?xml version1.0 encodingUTF-8?
web-app xmlnshttps://jakarta.ee/xml/ns/jakartaeexmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttps://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsdversion6.0!--配置前端控制器--servletservlet-namespringmvc/servlet-nameservlet-classorg.springframework.web.servlet.DispatcherServlet/servlet-class!--手动设置springmvc配置文件的路径及名字--init-paramparam-namecontextConfigLocation/param-nameparam-valueclasspath:springmvc.xml/param-value/init-param!--为了提高用户的第一次访问效率建议在web服务器启动时初始化前端控制器--load-on-startup1/load-on-startup/servletservlet-mappingservlet-namespringmvc/servlet-nameurl-pattern//url-pattern/servlet-mapping
/web-appDispatcherServlet是SpringMVC框架为我们提供的最核心的类它是整个SpringMVC框架的前端控制器负责接收HTTP请求、将请求路由到处理程序、处理响应信息最终将响应返回给客户端。DispatcherServlet是Web应用程序的主要入口点之一它的职责包括
接收客户端的HTTP请求 DispatcherServlet监听来自Web浏览器的HTTP请求然后根据请求的URL将请求数据解析为Request对象。处理请求的URL DispatcherServlet将请求的URLUniform Resource Locator与处理程序进行匹配确定要调用哪个控制器Controller来处理此请求。调用相应的控制器 DispatcherServlet将请求发送给找到的控制器处理控制器将执行业务逻辑然后返回一个模型对象Model。渲染视图 DispatcherServlet将调用视图引擎将模型对象呈现为用户可以查看的HTML页面。返回响应给客户端 DispatcherServlet将为用户生成的响应发送回浏览器响应可以包括表单、JSON、XML、HTML以及其它类型的数据
5.2 编写springmvc.xml
SpringMVC框架有它自己的配置文件该配置文件的名字默认为-servlet.xml默认存放的位置是WEB-INF 目录下
但是我们正常我们的配置文件都是放在resources文件夹下面的所以我们这里需要做出一点改动。
手动配置我们的springmvc的路径。
!--手动设置springmvc配置文件的路径及名字--
init-paramparam-namecontextConfigLocation/param-nameparam-valueclasspath:springmvc.xml/param-value
/init-param然后我们就可以直接在resources添加一个springmvc.xml文件了。
?xml version1.0 encodingUTF-8?
beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlns:contexthttp://www.springframework.org/schema/contextxsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsdcontext:component-scan base-packageorg.javatop.springmvc.controller/!--视图解析器--bean idthymeleafViewResolver classorg.thymeleaf.spring6.view.ThymeleafViewResolver!--作用于视图渲染的过程中可以设置视图渲染后输出时采用的编码字符集--property namecharacterEncoding valueUTF-8/!--如果配置多个视图解析器它来决定优先使用哪个视图解析器它的值越小优先级越高--property nameorder value1/!--当 ThymeleafViewResolver 渲染模板时会使用该模板引擎来解析、编译和渲染模板--property nametemplateEnginebean classorg.thymeleaf.spring6.SpringTemplateEngine!--用于指定 Thymeleaf 模板引擎使用的模板解析器。模板解析器负责根据模板位置、模板资源名称、文件编码等信息加载模板并对其进行解析--property nametemplateResolverbean classorg.thymeleaf.spring6.templateresolver.SpringResourceTemplateResolver!--设置模板文件的位置前缀--property nameprefix value/WEB-INF/templates//!--设置模板文件后缀后缀Thymeleaf文件扩展名不一定是html也可以是其他例如txt大部分都是html--property namesuffix value.html/!--设置模板类型例如HTML,TEXT,JAVASCRIPT,CSS等--property nametemplateMode valueHTML/!--用于模板文件在读取和解析过程中采用的编码字符集--property namecharacterEncoding valueUTF-8//bean/property/bean/property/bean
/beans以上配置主要两项
第一项组件扫描。spring扫描这个包中的类将这个包中的类实例化并纳入IoC容器的管理。第二项视图解析器。视图解析器View Resolver)的作用主要是将Controller方法返回的逻辑视图名称解析成实际的视图对象。视图解析器将解析出的视图对象返回给DispatcherServlet并最终由DispatcherServlet将该视图对象转化为响应结果呈现给用户。
注意如果采用了其它视图请配置对应的视图解析器例如
JSP的视图解析器InternalResourceViewResolverFreeMarker视图解析器FreeMarkerViewResolverVelocity视图解析器VelocityViewResolver
5.3 提供视图
在WEB-INF目录下新建templates目录在templates目录中新建html文件例如test.html并提供以下代码
!DOCTYPE html
html langen xmlns:thhttp://www.thymeleaf.org
headmeta charsetUTF-8titleTest/title
/head
body
H1TEST OK!!! Hello SpringMVC/H1
/body
/html5.4 编写Controller
返回逻辑视图名称决定跳转到哪个页面
Controller
public class HelloController {RequestMapping(/test)public String test(){return test;}
}6. 配置Tomcat
第一步配置Tomcat服务器 第二步部署web模块到Tomcat服务器
注意我们这里 /springmvc 就是我们的Web应用的根目录。 7. 测试
开浏览器在浏览器地址栏上输入地址http://localhost:8080/springmvc/haha 大功告成!!!
8. 执行流程总结
浏览器发送请求http://localhost:8080/springmvc/testSpringMVC的前端控制器DispatcherServlet接收到请求DispatcherServlet根据请求路径 /test 映射到 HelloController#名字随意()调用该方法。HelloController#名字随意() 处理请求。HellController#名字随意() 返回逻辑视图名称 test给视图解析器.视图解析器找到 /WEB-INF/templates/test.html 文件并进行解析生成视图解析对象返回给前端控制器DispatcherServlet。前端控制器DispatcherServlet响应结果到浏览器。
9. 总结
以上便是本文的全部内容本人才疏学浅文章有什么错误的地方欢迎大佬们批评指正我是Leo一个在互联网行业的小白立志成为更好的自己。
如果你想了解更多关于Leo可以关注公众号-程序员Leo后面文章会首先同步至公众号。