servlet简单概括总结

最近在看java web的相关内容,不管是整体还是细节,要学习的知识有很多,所以有一个好的学习体系非常重要。在阅读学习一些博客和教程中关于servlet的内容后,现将知识体系和自己的总结体会进行梳理,希望在更深入理解的同时,也能够帮到别人。

一、servlet定义

  java servlet是运行在web服务器或应用服务器上的程序,本质也是一个java类,是浏览器或客户端http请求与web服务器上数据库或应用程序的中间层。servlet可以接收来自浏览器用户的表单信息(http request),通过信息分析,组装结果信息(http response)返回给浏览器,从而实现前端和后台的交互。

二、servlet总体框架

  

三、servlet生命周期

  servlet的生命周期是servlet从创建到销毁的过程,主要涉及三个方法:

  1、void init(ServletConfig config);

    当有用户第一次访问该servlet的url时,该servlet被创建,也可以设置成随着服务器启动而加载。servlet创建时,调用该init方法进行初始化,且该init只被调用一次,当还有用户访问该servlet的url时,init将不再被调用(init随着servlet的创建而调用,既然servlet只创建一次,init方法当然只被调用一次了)。

    在该带参init方法中,除了给ServletConfig赋值外,还会调用init的重载无参方法,可供程序员自己来个性化定制初始化,例如可以设置一个全局的count参数来记录该url被访问的次数等。

  2、void service(ServletRequest req, ServletResponse res);

    servlet时单实例多线程的,在servlet的整个生命周期内,只会有一个实例(单例模式),每当有用户访问时,服务器会调用该service方法,通过解析http的请求方式(一般为get或post),创建一个线程去执行相应的doGet或doPost方法。

  3、void destroy();

    该方法只被调用一次,在servlet结束生命周期时调用。当servlet被移除或服务器正常关闭的时候,服务器调用servlet的destroy方法实现销毁操作。

(以下内容待续...)

四、servletConfig

五、servletContext

servlet是单实例多线程的类,查看源码了解servlet是如何创建并回收线程的。

转载于:https://www.cnblogs.com/codelocking/p/8646806.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/367577.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jquery学习之-查找父元素方法parent() parents() closest()的区别

parent()、parents()与closest()方法两两之间有类似又有不同&#xff0c;本篇简短的区分一下这三个方法。通过本篇内容&#xff0c;大家将会在以后使用.parent()、parents()和closest()时不会显得无从下手。 我们直接看例子来来说明一下这三个方法的使用区别&#xff1a; <u…

二叉树的递归遍历与复制

1 #include <iostream>2 3 //定义树的数据结构4 struct BiTNode5 {6 int data;7 struct BiTNode *lchild, *rchild;8 };9 10 typedef struct BiTNode BiTNode;11 typedef struct BiTNode* BiTree;12 13 14 //前序遍历15 void preOrder(BiTNode *root)16 {17…

php超强后门在任意位置创建文件,php大马:.user.ini文件构成的超强PHP后门

这个估计很多同学看了不屑&#xff0c;认为是烂大街的东西了&#xff1a;那么我来个新的吧&#xff1a;。它比用的更广&#xff0c;不管是nginx/apache/IIS&#xff0c;只要是以fastcgi运行的php都可以用这个方法。我的nginx服务器全部是fpm/fastcgi&#xff0c;我的IIS php5.3…

CSS3-字体渐变色

示例&#xff1a;Maugers Blog <!DOCTYPE HTML> <html> <head><meta charset"utf-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><title>Maugers Blog</title><style type"text/css…

Restlet框架– Hello World示例

Restlet是用于Java平台的轻量级&#xff0c;全面的开源REST框架。 Restlet适用于服务器和客户端Web应用程序。 它支持主要的Internet传输&#xff0c;数据格式和服务描述标准&#xff0c;例如HTTP和HTTPS&#xff0c;SMTP&#xff0c;XML&#xff0c;JSON&#xff0c;Atom和WAD…

BZOJ2809 dispatching 【可并堆】

题目分析&#xff1a; yy一下就知道了&#xff0c;合并用可并堆少个log。 代码&#xff1a; 1 #include<bits/stdc.h>2 using namespace std;3 4 const int maxn 102000;5 6 int n,m;7 int b[maxn],c[maxn],l[maxn],sz[maxn];8 long long tot[maxn];9 int dis[maxn],v…

php ci 框架 扩展缓存类,CodeIgniter扩展核心类实例详解

本文实例讲述了CodeIgniter扩展核心类的方法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;CI中对核心类、辅助类和函数的扩展是相当方便的&#xff0c;配置文件中指定了subclass_prefix扩展前缀&#xff0c;默认为MY_&#xff0c;扩展时需要以该配置为前缀&#xff…

jQuery下如何使用Json传递数据

json的结构为&#xff1a; {\"data\":[{\"key1\":\"1\"},{\"key2\":\"2\"},{\"key3\":\"3\"}]} 因为要进行输出&#xff0c;所以里边加了转义符&#xff0c;希望大家不要在此迷惑。下边&#xff0c;我就…

七牛云

待续....转载于:https://www.cnblogs.com/tovictory/p/8647883.html

Servlet 3的异步Servlet功能

在深入了解什么是异步Servlet之前&#xff0c;让我们尝试了解为什么需要它。 假设我们有一个Servlet&#xff0c;处理时间很长&#xff0c;如下所示。 LongRunningServlet.java package com.journaldev.servlet;import java.io.IOException; import java.io.PrintWriter;impo…

简单却实用的的例子:Jquery获取 radio 选中后的文字

今天在 QQ 群里有朋友问到 jQuery 怎么获取选中 radio 后的文本&#xff0c;可见要熟练的使用 jQuery 应该很好的掌握 jQuery 选择器&#xff0c;下边就让我们简单看看这个问题。 首先&#xff0c;他给出的 HTML 示例如下&#xff1a; <input type"radio" id"…

excel的宏与VBA入门——代码调试

直接介绍重点&#xff1a; 常用的操作是导航栏的逐句与断点&#xff1a; 添加断点&#xff1a;调试->切换断点 单步运行&#xff1a;调试->逐句 查看变量的窗口&#xff1a;视图->本地窗口 转载于:https://www.cnblogs.com/jiangbei/p/9561352.html

php访问服务器文件路径,PHP与服务器文件系统的简单交互

1、php.ini中关于文件上传的设置指令2、文件上传过程(1)上传文件提交表单html代码&#xff1a;Adminstration - upoload new filesUpload new filesUpload a file(2)php处理上传文件代码①在php脚本中&#xff0c;需要处理的数据保存在超级变量数组$_FILES中&#xff0c;开启re…

泽西岛客户:测试外部呼叫

吉姆和我在上周一直在做一些工作&#xff0c;其中涉及调用neo4j的HA状态URI来检查实例是否是主/从属&#xff0c;并且我们一直在使用jersey-client 。 该代码大致如下所示&#xff1a; class Neo4jInstance {private Client httpClient;private URI hostname;public Neo4jInst…

django F和Q 关键字使用

F 的使用&#xff1a; 想给表里每个价格加上一百就要用上F&#xff0c;直接加是不行的。 转载于:https://www.cnblogs.com/wuheng-123/p/9561422.html

php酷狗音乐json,用php来搜索酷狗音乐

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼返回结果要使用$datajson_decode($json,true);转换为php array变量搜索歌曲&#xff1a;http://mobilecdn.kugou.com/api/v3/search/song?formatjson&keyword想象之中&page1&pagesize30返回实例&#xff1a;Array([st…

了解OutOfMemoryError

每当您发现自己盯着一个带有OutOfMemoryError的堆栈跟踪时&#xff0c;它应该都非常清晰。 该程序不再有肘部空间&#xff0c;并且由于缺少它而濒临死亡。 从10,000英尺或高管椅子上可能已经包含太多信息。 但是&#xff0c;那些必须构建或维护应用程序并弄清为什么会产生特定错…

jQuery之合成事件

jQuery提供一些方法将两种效果合并到一起&#xff0c;比如&#xff1a;mouseover、mouseout。 下面是一些案例&#xff1a; hover(over,out)一个模仿悬停事件&#xff08;鼠标移动到一个对象上面及移出这个对象&#xff09;的方法。这是一个自定义的方法&#xff0c;它为频繁使…

基础命令_1

避免误删除数据1.尽量把文件移动到 /tmp目录2.参数最小化 -f -rf3.-f或-fr放在命令最后#########################################################################################################################find 命令 <find(选项)(参数)> find命令用来在…

php pdo使用事务,PHP内PDO事务使用步骤详解

这次给大家带来PHP内PDO事务使用步骤详解&#xff0c;PHP内PDO事务使用的注意事项有哪些&#xff0c;下面就是实战案例&#xff0c;一起来看一下。概要&#xff1a;将多条sql操作(增删改)作为一个操作单元&#xff0c;要么都成功&#xff0c;要么都失败。单条数据不用事务处理被…