《web应用技术》第12次课后作业

Servlet 的工作原理
    Servlet接口定义了Servlet与servlet容器之间的契约。这个契约是:Servlet容器将Servlet类载入内存,并产生Servlet实例和调用它具体的方法。但是要注意的是,在一个应用程序中,每种Servlet类型只能有一个实例。

    用户请求致使Servlet容器调用Servlet的Service()方法,并传入一个ServletRequest对象和一个ServletResponse对象。ServletRequest对象和ServletResponse对象都是由Servlet容器(例如TomCat)封装好的,并不需要程序员去实现,程序员可以直接使用这两个对象。

    ServletRequest中封装了当前的Http请求,因此,开发人员不必解析和操作原始的Http数据。ServletResponse表示当前用户的Http响应,程序员只需直接操作ServletResponse对象就能把响应轻松的发回给用户。

    对于每一个应用程序,Servlet容器还会创建一个ServletContext对象。这个对象中封装了上下文(应用程序)的环境详情。每个应用程序只有一个ServletContext。每个Servlet对象也都有一个封装Servlet配置的ServletConfig对象。

5 Maven高级
5.1 分模块设计与开发
将一个完整的项目按照功能拆分成若干个子模块,使用时只需通过Maven引入依赖即可。方便项目的管理维护、扩展,也方便模块间的相互调用,资源共享。

注意事项:

分模块设计不是先将工程开发完毕,然后进行拆分。而是需要先针对模块功能进行设计,再进行编码。

5.2 继承与聚合
继承:继承描述的是两个父子工程的关系,与java中的继承相似,子工程可以继承父工程中的配置信息,常见于依赖关系的继承和传递。如在SpringBoot工程的xml文件中配置了spring-boot-starter-parent父工程。

聚合:将多个模块组织成一个整体,同时进行项目的构建。一个不具有业务功能的"空工程"(只有一个pom文件的父工程)。在项目构建时,聚合工程中所包含的模块会根据它们之间的依赖关系设置构建顺序

总结继承与聚合的作用:

继承用于统一管理依赖,简化依赖配置。

聚合用于快速构建项目。

5.2.1 父工程
在每个功能子模块中可能会引入相同的依赖,管理起来比较麻烦,所以我们一般会为子模块创建一个父工程,每个子模块都会继承依赖于该父工程,由于Maven的依赖传递,父工程中的依赖在子模块中也能使用。

作用:统一管理依赖,简化项目依赖配置。

实现:<parent>...</parent>

1.首先创建父工程模块如springcloud-demo,设置打包方为pom(默认jar)。

jar:普通模块打包,springboot项目基本都是jar包(内嵌Tomcat运行)。

war:基于servlet和原始的springMVC开发的web程序打包,需要部署在外部的Tomcat服务器上运行。

pom:父工程或聚合工程,该模块不写代码,仅仅用于的统一管理。

2.在父工程下创建子工程。然后在Maven文件中指定父工程,当然如果在创建子模块的时候直接指定父工程就不用写了。


3.在父工程的pom文件中通过<dependencies>来统一管理子工程的直接依赖。可以在此标签下引入子工程共同的依赖。在此标签下引入的依赖,所有子工程都可以使用。

4.在父工程的pom文件中通过<dependencyManagement>来统一管理依赖版本。在该标签下引入统一的依赖。在子工程中添加相关依赖,不用指定版本号。变更依赖版本时,只需在父工程中统一修改即可。如果子工程中添加的依赖指定了版本号,那就以子工程的为准。

5.3 Maven的远程仓库配置
5.3.1 远程仓库介绍
我们使用的依赖都是先存储在本地仓库的,那本地仓库的资源从哪下载这些依赖呢?或者我们开发了一些Maven项目,怎么分享给其他人使用呢?

这时就需要使用到Maven的远程仓库了,该远程仓库架设在局域网内的仓库,用来代理位于外部的中央仓库,用于解决团队内部的资源共享与资源同步问题。远程仓库一般由公司自己搭建,我们只需要会使用就可以。

5.3.2 远程仓库配置
资源的上传我们需要直到上传到哪个远程仓库的什么地方,还需要访问权限。所以我们要做的配置就是:配置远程仓库地址和上传位置,以及配置仓库的用户名和密码。

首先配置远程仓库的地址,相当于就是配置远程仓库的镜像地址,跟之前配置阿里云镜像地址一样,在settings.xml中替换mirror以及profiles的配置,让RELEASE和SNAPSHOT仓库都可以使用:

在Maven工程中的pom文件配置上传(发布)地址:

项目版本:每个Maven项目的pom文件中<version>1.0-SNAPSHOT</version>就是用来指定项目版本的。不指定的话默认是RELEASE版本,上传时存储在RELEASE仓库。

RELEASE:发行版本,功能趋于稳定,可以用于发行的版本,存储在远程仓库的RELEASE仓库中。

SNAPSHOT:快照版本,功能不稳定,尚处于开发中的版本,存储在远程仓库的SNAPSHOT仓库中。
最后配置访问远程仓库的用户名和密码,在settings.xml的servers标签中配置server,包含RELEASE仓库和SNAPSHOT仓库的访问:


5.3.3 资源上传和下载
通过远程仓库的配置后就可以进行资源的上传和下载了。

资源上传只需执行Maven项目生命周期的发布阶段就可以了。

资源下载就是我们平时写依赖坐标,然后刷新下载引入依赖资源的操作。

课程设计开发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值