网站的seo方案怎么做,智慧校园官网,网站建设的客户,雄安个人代做网站排名目录
mvc 的架构
MVC 框架
传统web开发的弊端
1.创建一个maven项目
2.添加maven依赖
3.创建TomCatService类 3.1 创建TomcatService类 3.2 TomcatService类讲解 3.3 安装项目到本地仓库#xff0c;给其他项目使用
4.测试启动Tomcat 4.1 创建一个新的maven项目 4.2 引用…目录
mvc 的架构
MVC 框架
传统web开发的弊端
1.创建一个maven项目
2.添加maven依赖
3.创建TomCatService类 3.1 创建TomcatService类 3.2 TomcatService类讲解 3.3 安装项目到本地仓库给其他项目使用
4.测试启动Tomcat 4.1 创建一个新的maven项目 4.2 引用mvc-framework项目的依赖 4.3 创建一个webapp包里面在创建index.html文件 4.4 创建一个测试类 4.5 启动项目 4.6 访问项目 mvc 的架构 model ---------- 业务领域的核心对象(Entity,Service,Dao) View ---------- 视图层做数据的提交和渲染 (JSP、HTML.........) Controller -------- 控制层专门用于处理Http请求(Servlet) MVC 框架 简化控制层以及视图渲染的操作将这些API进行更高层封装使用起来更加简便,可以隐藏Servlet的操作,同时还可以提供简便的部署方式。 传统web开发的弊端 1.每一个请求都必须要有一个对应的Servlet去处理 在传统的Servlet开发中每个请求都需要对应一个Servlet类来处理。这导致了项目结构的臃肿且难以维护和扩展。特别是对于大型项目Servlet的数量可能会非常庞大给代码的管理和维护带来挑战。 2.请求参数的处理相对繁琐 在Servlet开发中通常需要手动解析请求参数包括从URL中解析参数或者从请求体中读取参数。这样的处理方式相对繁琐容易出错尤其是在处理复杂的参数结构时更加困难。 3.请求响应的统一性比较繁杂 在Servlet开发中通常需要手动设置响应的内容类型、编码等信息并且手动编写响应内容。这样的操作需要开发者自行管理容易导致响应的不一致性增加了维护成本。 4.部署Web应用相对繁杂肯能存在缓存的问题 在传统的Servlet开发中部署Web应用通常需要手动将Servlet类部署到Servlet容器中并且需要手动处理依赖关系、配置信息等。这样的部署方式相对繁琐容易出错。此外由于Servlet容器会缓存Servlet类当修改了Servlet类但未正确地刷新缓存时可能会导致旧版本的Servlet类被执行从而引发一系列问题。 为了解决这传统web开发的弊端我们自己写一个MVC框架简易实现 1.创建一个maven项目 2.添加maven依赖 对应的依赖为:
?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.xr/groupIdartifactIdmvc-framework/artifactIdversion0.9/version!--打包方式为jar--packagingjar/packagingproperties!--maven编译源代码的jdk版本--maven.compiler.source21/maven.compiler.source!--maven编译目标代码的jdk版本--maven.compiler.target21/maven.compiler.target!--项目构建编码格式--project.build.sourceEncodingUTF-8/project.build.sourceEncoding/propertiesdependencies!--Tomcat依赖--dependencygroupIdorg.apache.tomcat.embed/groupIdartifactIdtomcat-embed-core/artifactIdversion10.1.19/version/dependency!--JSP解析器依赖--dependencygroupIdorg.apache.tomcat.embed/groupIdartifactIdtomcat-embed-jasper/artifactIdversion10.1.19/version/dependency!--EL表达式依赖--dependencygroupIdorg.apache.tomcat.embed/groupIdartifactIdtomcat-embed-el/artifactIdversion10.1.19/version/dependency!--servlet依赖--dependencygroupIdjakarta.servlet/groupIdartifactIdjakarta.servlet-api/artifactIdversion6.0.0/version!--这个依赖是运行环境提供的不需要打包到jar中--scopeprovided/scope/dependency!--yml文件解析器--dependencygroupIdorg.yaml/groupIdartifactIdsnakeyaml/artifactIdversion1.33/version/dependency!--底层工具库(Guava,Hutool)--dependencygroupIdcn.hutool/groupIdartifactIdhutool-all/artifactIdversion5.8.27/version/dependency/dependencies/project 注意: 1.这里的项目打包方式一定是jar包 2.servlet依赖范围一定是provided 如果不是Provided当其他项目引用这个项目的依赖那么这个依赖会打包到jar中而Tomcat自带Servlet那么tomcat会识别到这个jar中的Servlettomcat就不知道使用哪个Servlet 3.创建TomCatService类 3.1 创建TomcatService类 作用: 启动一个嵌入式的Tomcat服务器。在Java Web开发中通常使用Tomcat作为Servlet容器来运行Web应用而这个类的目的是通过代码的方式启动一个Tomcat服务器而不是通过传统的部署方式 3.2 TomcatService类讲解
package com.xr.embed;import cn.hutool.core.io.FileUtil;
import org.apache.catalina.LifecycleException;
import org.apache.catalina.startup.Tomcat;import java.io.File;/*** Tomcat容器* author xr* Date 2024/5/13 11:32*/
public class TomcatServer {/*** 容器的端口号*/private final Integer port 8080;/*** ContextPath路径,默认值是/,表示项目的根*/private final String contextPath /;/*** web资源的部署目录*/private String webRoot src/main/webapp;/*** 启动Tomcat服务器*/public void startServer() {// 实例化Tomcat对象Tomcat tomcat new Tomcat();// 设置端口tomcat.setPort(port);// 将webRoot构建为绝对路径webRoot FileUtil.getWebRoot().getAbsolutePath() File.separator webRoot;// 设置contextPath和web资源目录tomcat.addWebapp(contextPath, webRoot);// 创建连接tomcat.getConnector();try {//启动tomcattomcat.start();//将Tomcat进行阻状态,保持运行状态tomcat.getServer().await();} catch (LifecycleException e) {throw new RuntimeException(启动Tomcat失败!!!,e);}}
} 属性 port : 配置Tomcat服务器的端口 ContextPath 应用的根路径 webRoot 指定了Web资源的部署目录即Web应用的根目录。在实际运行时会将这个目录构建为绝对路径并传递给Tomcat 方法 : startServer() : 首先实例化了Tomcat对象然后设置了端口和Web资源目录。接着通过调用addWebapp()方法将Web应用部署到Tomcat的ContextPath下。最后启动了Tomcat服务器并使其保持运行状态 注意 为什么要让Tomcat进入阻塞装填 如果Tomcat进入阻塞状态的话只要一启动Tomcat就直接结束了所以要让Tomcat保持运行状态 3.3 安装项目到本地仓库给其他项目使用 4.测试启动Tomcat 4.1 创建一个新的maven项目 4.2 引用mvc-framework项目的依赖 对应的依赖: ?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.xr/groupIdartifactIdwebapp-demo/artifactIdversion1.0-SNAPSHOT/versionpackagingwar/packagingpropertiesmaven.compiler.source21/maven.compiler.sourcemaven.compiler.target21/maven.compiler.targetproject.build.sourceEncodingUTF-8/project.build.sourceEncoding/propertiesdependenciesdependencygroupIdcom.xr/groupIdartifactIdmvc-framework/artifactIdversion0.9/version/dependency/dependencies/project 4.3 创建一个webapp包里面在创建index.html文件 有则不用创建没有则创建 具体代码
!DOCTYPE html
html langen
headmeta charsetUTF-8titleTitle/title
/head
body
h2Hello Tomcat/h2
/body
/html 4.4 创建一个测试类 具体代码
package com.xr;import com.xr.embed.TomcatServer;/*** 测试方法* author xr* Date 2024/5/13 11:50*/public class Main {public static void main(String[] args) {// 创建TomcatServer对象TomcatServer server new TomcatServer();// 启动Tomcatserver.startServer();}
} 4.5 启动项目 项目启动成功!!!! 之前是要配置了Tomcat才能启动项目我们这里并没有配置Tomcat 发现 我们并没有在Idea中配置Tomcat,按照之前的方法我们需要在IDEA中配置Tomcat而这里所使用的间接让项目内嵌了Tomcat所以无需配置Tomcat 4.6 访问项目 ------------------------------------------------------待更新------------------------------------------------------------------