servlet+mvc、jar 包介绍、如何导入使用

Servlet是基于Java的服务器端程序,处理HTTP请求并作出响应。它运行在应用层,依赖TCP/IP进行通信。Servlet接口定义了生命周期方法init、service和destroy。HttpServlet是Servlet的抽象实现,简化了处理HTTP请求的方法。MVC模式将软件分为模型、视图和控制器,增强代码的可扩展性和可维护性。
摘要由CSDN通过智能技术生成

Servlet

Servlet是JSP(Java Servlet Pages)的基础,其本质为运行在服务器端的Java类,接收来自客户端的请求并作出响应。

Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。
使用 Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。

 这里要参考计算机导论关于网络部分,主要在tcp/ip分层协议这方面。

分层协议和网络层次结构中,通常将协议层次分为物理层、网络层、传输层和应用层。

servlet运行在应用层,它利用传输层和网络层来进行数据通信。

所以servlet和TCP/IP是存在一定关系的,关系表现在:

  1. servlet使用TCP/IP协议作为底层传输工具,将HTTP请求和响应通过TCP/IP通道传输。

  2. servlet属于应用层,它依赖于传输层和网络层来实现数据传输功能。 TCP/IP属于传输层和网络层。

  3. servlet处理应用层的HTTP消息,而TCP/IP负责传输层的TCP报文和网络层的IP包的传输。

狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。
 

这个接口就是让我们可以从web.xml文件中拿到标签中的参数,比如<servlet-name>,<init-param>等标签中的参数。本质为运行在服务器端的Java类,可以实现动态web网页,与用户进行交互。

继承关系图:

Servlet生命周期:

最重要的就是init,service,destory这三个方法,一般别人都把这三个方法叫做servlet的生命周期。 

启动tomcat时,自动执行init这个初始化方法,输入网址跳转到网页便是使用service选择doPost/doGet对请求作出响应,最后关闭tomcat便会执行destory这个方法。

到了这里,假如就给这样一个接口,自行实现类有一些困难,所以引出一个抽象类GenericServlet

,这个抽象类实现了Servlet接口,把几乎所有的方法都实现出来了,比如获取servlet上下文,获取initParameter等等常用的功能,就留下了那三个生命周期方法init(), service(),destroy()没有实现,这就需要我们自己去实现类,所以我们可以继承这个抽象类,实现这三个方法。

在此基础上,出来了一个比较全面的抽象类HttpServlet,这个类继承了GenericServlet,还实现了http协议,其中做的最主要的是就是将那service()生命周期方法给实现了,并且在这里会根据浏览器提交过来数据的方式,给分发到各自的方法去实现,比如分发到doGet(),doPost()等,

源码如下:

 此时的service还未实现http协议,该方法主要是将req,res包装成实现http协议的,之后调用service(重载),下为重载方法。

这里的第一个if(method.equals("GET"))可以拿到浏览器的请求方式,如果是get便会执行doGet()方法, 后面还有post,put,delete方法的判断,跟这里几乎一样,而且在本类中已经定义了doGet(),doPost()等方法,几乎没有怎么实现,所以我们只需要继承HttpServlet类,根据我们的请求方式实现doGet(),doPost()等方法就可以了,分工明确。

MVC开发模式

MVC(Model View Controller)是软件工程中的一种软件架构模式,它把软件系统分为模型、视图控制器三个基本部分。用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。

mvc每层逻辑关系图:

 

MVC要实现的目标是将软件用户界面和业务逻辑分离以使代码可扩展性、可复用性、可维护性、灵活性加强。

上图中,Controller起一个“粘合剂”的作用,假如此时程序业务逻辑的处理方式有变化,那么只需要在Controller中将原来的Model换成新实现的Model就可以了,它只负责中转(指挥调度),不负责具体的业务操作。

以用户登录举例:

用户看到的是JSP展示页面,用户输入数据点击登录按钮时,这时JSP将请求发给控制器,

然后控制器再将请求分发到Model上,通过数据库查询数据库中是否存在该用户信息。

若存在该用户,则返回信息,让控制器告诉前台页面展示登陆成功的信息;不存在则告诉登陆失败。

Jar 包介绍、如何导入使用

Jar包介绍:

jar包(Java Archive File)是一个可以包含许多.class文件的压缩文件。我们可以将一个jar包加入到项目的依赖中,从而该项目可以使用该jar下的所有类;也可以把项目中所有的类打包到指定的jar包,提供给其他项目使用。

导入使用:

这里以IDEA导入为例

1右键要导入jar包的项目,点击打开项目设置(open Module Settings)

 2.点击左侧模块(modules),再点击+,选择第一项

3.选择路径导入,可以是lib目录,也可以是jar后缀文件。

 

 

之后在该项目中便可使用导入jar包下所有类,此处为导入servlet相关jar包。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值