javaWeb 理解(一)

Servlet

Servlet(Servlet Applet),全称Java Servlet。是用Java编写的服务器端程序。主要功能用于交互式地浏览和修改数据,生成动态web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现这个这个Servlet接口的类。

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

Servlet生命周期的三个关键方法int、service、destory。

1.init()方法,当Servlet第一次被请求时,Servlet容器就会开始调用这个方法类初始化一个Servlet对象出来,但是这个方法在后续请求中不会在被Servlet容器调用。可以利用init()方法来执行相应的初始化工作

2.service()方法,每当请求Servlet时,Servlet容器就会调用这个方法。第一次请求时,Servlet容器就会先调用init()方法初始化一个Servlet对象出来,然后会调用它的service()方法进行工作,但在后续的请求中,Servlet容器只会调用service方法。

3.destory()方法。当要销毁Servlet时,Servlet容器就会调用这个方法。在关闭Servlet容器时,就会调用该函数。

下面是访问Servlet的图解

上面是对Servlet的理解

平时在创建项目的时候,最开始就是一个功能对应一个Servlet,并在web.xml中对创建的Serlvet进行相关的配置,开始项目的时候Servlet比较少,但是到后来发现Servlet越来越多的,在web.xml中配置的记录也越来越多(这个问题可以通过注解的方式来进行解决,Servlet3.0添加了注解可以解决Serlvet在xml中的配置问题。)虽然web.xml中配置的问题解决了,但是Servlet的过多个问题还是没有解决。

BaseServlet

在进行java培训的时候老师最开始讲的都是最原始的Servlet,要是讲的全的话直接将javaWeb的框架,但是不讲其中的原理,仅仅将使用框架的使用方法。在不适用框架的情况下,如何减少Servlet的数量,可以通过BaseServlet。BaseServlet其实可以不叫这个名字,但是在使用的时候一定要去继承HttpServlet。继承了HttpServlet之后主要就是去实现Service()。一般来说service方法是不需要重写的,因为在HttpServlet中已经有了很好的实现,它会根据请求的方法名(Get,POST),调用doGet,doPost以及其他的doXXX方法,也就是说service是用来转向的。但是如果你在自己的servlet类中覆盖了service方法,实现的方法如下:

    public void service(ServletReuqest req,ServletResponse res) throws ServletException,IOException{
        res.getOutputStream().print("image is <img src="images/downcoin.gif"></img><br>");
    }

那么这时service就不是用来转向的,而是用来处理业务的,现在不论你的客户端调用post还是get来请求此servlet,都会执行service方法也只能执行service方法

在BaseServlet中就是通过复写service方法来实现对业务的处理。通过BaseServlet可以减少Servlet的数量。通过让BaseServlet继承HttpServlet之后,在让自己的类去继承BaseServlet,通过BaseServlet中的service方法来调用子类中的实现的方法(通过反射来实现对子类中的方法调用的)。

baseServlet中的实现步骤

第一步:先获取请求携带的方法参数。

第二步:获取指定类的字节码对象。

第三步:根据请求携带的方法参数值,在通过字节码对象获取指定的方法。

第四步:最后执行指定的方法。

原文地址:https://www.cnblogs.com/gxcstyle/p/11442168.html

时间: 2024-11-02 02:35:01

javaWeb 理解(一)的相关文章

【免费下载】全套最新 003JavaWeb开发 视频教程+教学资料+学习课件+源代码+软件开发工具

003JavaWeb开发视频教程 网盘地址: 链接:https://pan.baidu.com/s/1-5ZT3yZpsqyBU3ljOB3C1g 提取码:rige 加公众号 获取更多新教程 教程目录大纲 ./003JavaWeb开发 ├── 10. HttpSession(上) │?? ├── 44. JavaWEBHttpSession 概述.wmv │?? ├── 45. JavaWEBHttpSession 的生命周期.wmv │?? ├── 46. JavaWEBHttpSession

JavaWeb三大组件——过滤器的运行机制理解

过滤器Filter 文章前言:本文侧重实用和理解. 一.过滤器的概念. lFilter也称之为过滤器,它是Servlet技术中最实用的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能.例如实现URL级别的权限访问控制.过滤敏感词汇.压缩响应信息等一些高级功能. 二.过滤器的运行机制. 没有加Filter的web项目运行机制如下: 加上Filter的web运行机制: 由

javaweb回顾第一篇servlet的学习和理解

前言:关于servlet相信学过java的都不会陌生,我最近又把这些基础知识整理一遍,便于自已能更好的理解ssm或者ssh,下面开始 1:Servlet接口 servlet有5个方法下面分别简单的介绍每个方法的作用 1.1:public void init(ServletConfig config) 在servlet被实例化以后,servlet容器会调用init方法来初始化该对象,这个方法主要是完成在请求前的一些初始化工作,比喻调用数据库连接,实例化对象等 1.2:public void ser

个人对JavaWeb中MVC与三层架构的区别理解

JavaWeb中MVC是指B/S结构开发中的一种设计模式,能够将Web页面与业务逻辑以及数据库操作之间的耦合性降到最低点,易于代码的重用以及后期维护.而三层架构的概念在JavaWeb中则是指Web层,业务层,数据层.但三层架构中却是把MVC中的Model,也就是JavaBeans分成业务层和数据层,而把Controller控制器以及View视图合并成Web层.二者之间最大的区别在于MVC只限于JavaWeb,而三层架构则能够实现在非Web应用平台之上,只需替换掉Web层足以,而业务层与数据层依旧

javaWeb基础 之 servlet 过滤器理解

过滤器思维导图理解: 过滤器是属于Servlet 的伴随servlet 启动而启动. 过滤器的工作原理(以下设置了两个过滤器): 用户请求先执行过滤器1 的doFilter 如果通过则执行过滤器2,直到执行对应请求的servlet,执行完成后,返回到过滤器2,再到过滤器1. 原文地址:https://www.cnblogs.com/lanSeGeDiao/p/9348241.html

菜菜菜鸟学习之JavaWeb 入门1(自己的学习理解,不对之处请大神们多多指教啊)

一.相关基础知识 1.C/S(Client/Server)架构和B/S(Browser/Server)架构 首先说C/S架构,简单讲其实很常见,类似QQ等需要下载客户端的应用程序就是建立在C/S架构中.往深一点讲,它是分布式架构,每个客户端直接连接数据库服务器,并且数据的处理需要依赖客户端,所以说我们经常见到QQ用着用着就卡死了.这么一来,软件开发时选择C/S架构会出现以下问题: 1)所有客户端并发连接数据库,这直接限制客户端程序同时运行的数量. 2)需要安装,麻烦.(不过,这阻挡不了现在各种A

JavaWeb请求转发与请求重定向理解

请求转发使用方法 httpServletRequest.getRequestDispatcher("login.jsp").forward( httpServletRequest, servletresponse); 此请求过程 完全是一次request对象 完成的. 我们可以用 filter 截取用户的这次请求,然后利用这次请求 访问其它页面,当服务器返回信息给浏览器时 此次请求与response 结束. 过程类似与  request request request   respon

android客户端 与javaweb服务端的简单理解

客户端定义的变量 永远都是一个人在用,所以定义成类的成员变量不会产生脏数据,对成员变量的访问都是一个线程 一个人在操作.可以尽可能的使用成员变量. Java服务端的程序  是并发的,有可能并发数会很大超过100多,后台的程序都是多人多线程访问,所以减少业务层成员变量的定义,尽量定义方法内的局部变量.在多线程运行方法 ,都是每个线程 分配给方法一个栈区域内存,每个方法内的 对象都是唯一,都是 new的.

javaWEB与cookie

Cookie1. Http协议与Cookie(了解)  * Cookie是HTTP协议制定的!先由服务器保存Cookie到浏览器,再下次浏览器请求服务器时把上一次请求得到Cookie再归还给服务器  * 由服务器创建保存到客户端浏览器的一个键值对!服务器保存Cookie的响应头:Set-Cookie: aaa=AAA  Set-Cookie: bbb=BBB    > response.addHeader("Set-Cookie", "aaa=AAA");re