用僵尸网络发动DDoS攻击在安全界来说已经不算事了,但现在有安全公司发现,名为“Bondnet”的僵尸网络通过控制超过15000台的服务器,不仅能够发动DDoS攻击、窃取企业的数据,甚至还能用所控制的僵尸设备“挖矿”,开采不同种类的虚拟货币。
DDoS攻击不算事 Bondnet僵尸网络可挖矿
据披露,代号为Bood007.01的黑客从去年12月开始,主要开采暗网上常用的Monero(门罗币),一天大约可获利1000美元(约6902.5元人民币)。
而Bondnet主要锁定Windows Server主机,利用系统弱密码问题,和常见老旧系统漏洞来入侵系统,例如phpMyAdmin配置错误漏洞,或JBoss、Oracle Web Application Testing Suite、ElasticSearch、MS SQL servers、Apache Tomcat、Oracle Weblogic等,再通过一系列Visual Basic脚本程序,来植入远端的木马和采矿程序。
最早一波Botnet攻击发生在香港,因为phpMyAdmin配置错误,让攻击者有机可乘,暗中植入了未知的DLL文件和编码过的Visual Basic脚本程序。虽然感染主机上安装了多种杀毒软件,但都没有发现到这些问题文件而告警。此外,攻击者还会植入WMI木马,来与C&C服务器沟通,传递设备的数据到C&C服务器,包括设备名称、RDP端口、帐号密码、Windows版本、正在活动的处理器数量、运行时间、操作系统的语言、CPU的架构(x86/x64)等等,这些数据使用ASCII编码,并且通过HTTP协议进行传输。
Botnet攻击流程图(图片来自guardicore.com)
研究人员指出,部分僵尸设备被用来执行采矿计算,攻击者会根据采集不同种类的加密货币,下载并安装相对应的矿工程序,采集加密货币的种类包括Monero、ByteCoin、RieCoin和ZCash等,这些加密货币都能兑换成美元。而且,为了确保采矿任务不会因系统重开机而中断,攻击者还设定了排期规则,每小时会自动启动一次采矿程序。
目前,Botnet所控大多数僵尸设备负责采矿工作,一部分僵尸设备则负责勒索攻击。而其目标则针对跨国企业、大学、市议会和其他政府机关来发动攻击。
于测试过程中很多系统我们能接触到的只有一个登陆界面,所以要充分挖掘漏洞,进行深入操作
万能密码绕过登录
存在SQL注入的情况下,有可能使用万能密码直接登录
admin' or '1'='1'--
admin' OR 4=4/*
"or "a"="a
' or''='
' or 1=1--
有超级多
登录口SQL注入
存在SQL注入的话直接注出账密
有些可以构造用户注入登录,比如熊海cms后台登录处存在sql注入
$login=$_POST['login'];
$user=$_POST['user'];
$password=$_POST['password'];
$checkbox=$_POST['checkbox'];
if ($login<>""){
$query = "SELECT * FROM manage WHERE user='$user'";
$result = mysql_query($query) or die('SQL语句有误:'.mysql_error());
$users = mysql_fetch_array($result);
这里万能密码起不到作用,因为他是通过用户名去数据库查密码,再进行匹配,还有一种方法非常巧妙
user:1' union select 1,2,'test','c4ca4238a0b923820dcc509a6f75849b',5,6,7,8#
password:1
这是mysql的特性, 在联合查询并不存在的数据时,联合查询就会构造一个虚拟的数据,就相当于构造了一个虚拟账户,可以使用这个账户登录
后台未授权访问
列举几种找未授权访问的方法
组件未授权
使用的组件可能会出现漏洞,常用的未授权漏洞,对于端口的收集也至关重要,可以提高漏洞利用面
https://www.freebuf.com/vuls/265318.html
https://xz.aliyun.com/t/6103
超长用户名注册
注册用户
admin+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++1
覆盖掉原来的admin用户,不常见
任意重置密码
此时客户端会发一个验证码包,这是随意输入验证码,发包,返回包
返回包错误的回显为{“status”:0},将返回包的东西换成{“status”:1},即可重置密码
用户枚举漏洞
找回密码界面,输入用户名抓包,查看返回包中泄露的信息
比如:TerraMaster TOS 用户枚举漏洞 CVE-2020-28185
输入用户名 admin 点击确定,查看Burp捕获的包,其中有一个请求包用于确认用户admin是否存在,存在则返回用户的邮箱信息
验证码不刷新
验证码不会自动刷新,导致一个验证码可以用很多次
验证码失效
验证码无效依然可爆破,在挖掘弱口令的时候,常常会遇到图片验证码无效的情况,此时只需要输入正确的账号密码和验证码,使用burpsuite依然可继续爆破
验证码前端返回
有的平台可能验证码校验在前端进行,错误的将后台的验证码返回到前端,导致攻击者可以抓取返回包中的验证码
验证码爆破
有的平台可能验证码比较简单只有几位数字,可能存在爆破,使用burp抓包爆破
验证码短信轰炸
对于验证码发送次数没有做限制,导致造成短时间内短信重发,使用burp抓取获取验证码的包放到repeater不断重放,更暴力点可以使用intruder
验证码OCR
对登录页面使用工具如 xcode 对验证码进行识别爆破用户账号密码
验证码验证逻辑错误
就是验证码可以修改接收者,将账户修改密码的验证码抓包修改为其他手机号,后台并没有做验证
万能验证码
可能存在万能验证码0000或者9999,不常见
过于简单的cookie
如果用户登录后的cookie并不是随机的,而是如
cookie:Guest
这种过分简单的身份验证方法,可以导致越权,如果又存在用户注册,就可以注册一个普通用户然后越权为admin
固定加密的账密
比如:中科网威 下一代防火墙控制系统存在账号密码泄露漏洞,攻击者通过前端获取密码的Md5后解密可获取完整密码登陆后台
fofa语句:body="Get_Verify_Info(hex_md5(user_string)."
F12查看前端发现 admin的md5加密密码
注释泄露信息
必须泄露的url,或者敏感信息
URL重定向
经常出现在登录成功跳转中,可以修改参数跳转到任意页面,可用于钓鱼
比如:www.ocean.com?redir=aHR0cDovL2FkbWluLmFhYS5jb20=
redir后面的可能会进行base64编码
redirect、redirect_to、redirect_url、url、jump、jump_to、target、to、link、linkto、Domain
已知漏洞利用
因为一个web服务会用到很多组件,只要一个组件出现漏洞,这个密不透风的墙就被推到了,所以说资产收集是很重要的,收集足够多的信息,知己知彼百战百胜
有条件可以用一个扫描器扫描已知漏洞
默认密码
很多设备都存在默认的帐号密码
特别是一些厂商设备弱口令很常见
常见设备弱口令整理
一个简单的弱口令就让高昂的设备白给
测试账号未删除
比如 test,ceshi
拼音姓名字典
拼音姓名字典、用户名字典(如root,system,admin1等)+弱口令爆破,使用常规的拼音姓名字典 +123456,123,等弱口令进行爆破
如果网站有注册功能,破解用户密码的时候可以先去注册查看注册机制,如果可以使用123456等
密码那么就用拼音字典去爆破123456等弱口令,如果不行,可根据密码复杂程度制作密码,比如密码需求是字
母加数字的八位,就可以尝试abcd1234等符合密码规则的密码进行爆破
用户名枚举
使用两位字母和三位字母枚举,爆破123456等弱口令,成功爆破出一枚管理员后台账号密码,之前一个学校的后台弱口令没成功,SQL注入后发现用户名全是姓名首字母,密码1111
提示过于详细
当爆破的时候返回包显示密码不正确和用户名不存在的时候,我们可以搜集这些用户名进行专门的弱口令爆破,例如我爆破出存在多个存在的用户名,首先搜集这些用户名,然后设置burpsuite,通过以下格式的方法进行爆破,例如:Lihua,lihua123 lihua lihua lihua lihua@123 lihua lihua1234且注意网站下方是否有建立时间,如果时间是2017年建站的 ,我们的密码可以设置成lihua@2017 lihua@2018等进行专门针对用户名的爆破
域名做字典
截取子域名一部分作为字典挖掘弱口令
比如学校 wlzx(网络中心),tw(团委),jxzl(教学质量)等常见的系统用户名也是子域名
根据网站性质猜测用户名,比如教务类网站常有teacher,student1等用户名,或者企业缩写为用户名
搜集文章发布者姓名
搜集文章发布者姓名,在挖掘弱口令漏洞的时候,我常常会搜集文章发布者的姓名,网页上会有一些文章发布者的名字,我会把它搜集其他作为针对该网站爆破后台的用户名,并且整合前几种方法进行爆破。如果遇到中文名的管理员,我会把它转换为英文名,比如发布者:李刚,我的字典里就会多lilgang,lg,lig,lgang,这几个用户名,配合前几种姿势进行爆破。当然也遇到过比较奇葩的,直接就是中文为用户名
信息收集
不放过细节,qq群号很重要
在以前遇到一个这样的案例,网站上面存在一个客服qq群号码,网站是需要公司用户登录的,验证码也无法爆破,我在了解了网站的业务之后,通过网站上的qq群号码加群,在群公告之中发现了默认密码是xxx@xx1,但是不知道用户名,就在群里问了一句我登录不进去了,然后私聊一些群里的其他用户获取了用户名是企业统一信用代码,而群名片就是企业名字。我通过中国企业统一代码查询网站得知了这些企业的用户名。然后通过该默认密码进入了后台继续深入挖掘。另外在src上也挖到过同类问题,直接通过企业用户名和企业信用代码就可以重置企业用户密码进而查看学生简历,总而言之,任何网页上的信息都可能作为用户名,需要细心搜集
注册账号搜寻信息
在网站登录口无法爆破的时候,可以耐下心来注册,通过后台搜索好友等方法搜集用户名。然后在了解注册密码复杂程度机制之后挨个挨个的去手工尝试用户名密码。比如搜集到了lihao用户名,就可以参照前面的方法手动尝试lihao lihao123等密码进行登录,此方法需要很大耐心,但是十分有效
安装文档
搜集该网站的安装文档,使用文档等寻找默认账号密码或者未打码(也可以通过百度,谷歌,百度网盘等搜集)
Fuzz
工号、学号、身份证号等fuzz,当遇到用户名可能为工号的情况下,fuzz一波数字工号 ,或者寻找有无工号泄露的地方,根据工号继续爆破
各位大佬们多多提高危
本文由Ocean原创发布
转载,请参考转载声明,注明出处: https://www.anquanke.com/post/id/259244
安全客 - 有思想的安全新媒体
Java web,是用java技术来解决相关web互联网领域的技术的总称。web包括:web服务器和web客户端两部分。
java在最早web客户端的应用有java applet程序,不过这种技术在很久之前就已经被淘汰了。java在服务器端的应用非常丰富,
比如Servlet,jsp和第三方框架等等。java技术对web领域的发展注入了强大的动力
简单的说,就是使用java语言实现浏览器可以访问的程序内容。称之为Java Web。
javaweb开发是基于请求和响应的:
请求:浏览器(客户端)向服务器发送信息
响应:服务器向(客户端)浏览器回送信息
请求和响应是成对出现的。
所谓web资源即放在Internet网上供外界访问的文件或程序,又根据它们呈现的效果及原理不同,将它们划分为静态资源和动态资源。
静态web资源:固定不变数据文件(静态网页 HTML、CSS文件、文本、音频、视频)
静态web技术:HTML+CSS+JavaScript
动态web资源:一段服务程序,运行后,生成的数据文件
动态web技术:servlet,jsp,php, .net ,ruby、python等等
web服务器简介:
Tomcat:由Apache组织提供的一种Web服务器,提供对jsp和Servlet的支持。它是一种轻量级的javaWeb容器(服务器),也是当前应用最广的JavaWeb服务器(免费)。
Jboss:是一个遵从JavaEE规范的、开放源代码的、纯Java的EJB服务器,它支持所有的JavaEE规范(免费)。
GlassFish: 由Oracle公司开发的一款JavaWeb服务器,是一款强健的商业服务器,达到产品级质量(应用很少,收费)。
Resin:是CAUCHO公司的产品,是一个非常流行的应用服务器,对servlet和JSP提供了良好的支持,性能也比较优良,resin自身采用JAVA语言开发(收费,应用比较多)。
WebLogic:是Oracle公司的产品,是目前应用最广泛的Web服务器,支持JavaEE规范,而且不断的完善以适应新的开发要求,适合大型项目(收费,用的不多,适合大公司)。
3.1、Tomcat服务器
开源小型web服务器 ,完全免费,主要用于中小型web项目,只支持Servlet和JSP 等少量javaee规范(就是JavaWeb编程接口)
3.2、tomcat服务器与servlet版本的关系
servlet:sun公司提供的用于开发动态web资源的技术。
jsp:(java server page),java提供的一门开发web网页的技术。
tomcat软件:java开发的。java软件运行的时候需要jdk。
向下兼容。tomcat7也支持servlet3.0/jsp2.2规范,可以支持javaee6.0当前企业常用的版本 6.* / 7.*/8.*
3.3、tomcat下载和安装说明
到http://tomcat.apache.org 下载
1) Tomcat首页
2)Tomcat下载
3)下载后的包
4)安装:解压
5)tomcat的安装目录介绍:
bin:可以执行文件。
conf:tomcat服务器的配置文件
lib:tomcat启动后需要依赖的jar包
logs:tomcat工作之后的日志文件
webapps:是tomcat布暑工程的目录。
work:jsp文件在被翻译之后,保存在当前这个目录下,session对象被序列化之后保存的位置
3.4、Tomcat服务器启动(**重点)
注意事项:
1、JAVA_HOME:环境变量。并且配置到jdk的目录,其完整过程如下:
打开控制台(cmd命令打开窗口)。输入java -version测试
2、启动tomcat目录。 tomcat目录/bin/startup.bat(window启动文件) 找到startup.bat 双击运行。会有一个黑窗口,黑窗口不要关闭。(如果关闭,相当于把tomcat停止了。)
3、在浏览器地址栏中输入:http://localhost:8080 或者 http://127.0.0.1:8080localhost ,如果看到如下页面,证明启动成功
3.5、配置tomcat的端口(****重点)
tomcat默认的端口是8080(访问端口)
http的默认端口是80,如果访问的时候输入http://www.baidu.com相当于http://www.baidu.com:80。当真正在项目上线之后,通常采用80,修改方法如下:
1)找到tomcat目录/conf/server.xml
2)修改port的值,将port端口的值修改为80
3)然后在浏览器中输入 http://127.0.0.1:80 或 http://127.0.0.1 访问测试
访问成功!!!
3.6、catalina run 启动Tomcat
Tomcat启动,还有一种启动的方法就是在命令行中,先把你的当前目录切换 到你tomcat目录\bin目录下,如下是我的位置
再执行catalina run 这个命令启动Tomcat。这个命令有什么好处。当Tomcat启动失败的时候,会有一闪而过的情况,
当我们使用catalina run 这个命令启动Tomcat的时候,哪怕有错误,我们也可以清楚的看到tomcat失败的原因。不会一闪而过。
3.7、tomcat关闭
有三种方法。
第一种:Ctrl+C键 关闭Tomcat服务器
第二种:点击Tomcat窗口的右上角关闭按钮 (暴力停止服务器)
第三种:找到tomcat目录/bin/shutdown.bat文件,双击执行关闭Tomcat。
把我们自己书写的html,servlet这些信息,部署到tomcat的方式。
4.1、第一种方法:在tomcat目录/conf/server.xml 配置---了解
在conf/server.xml文件的host元素中配置,例如:
在host标签内书写如下内容
<Context path="/atguigu" docBase="D:\atguigu"/>
<Context path=”浏览器要访问的目录---虚拟目录” docBase=”网站所在磁盘目录”/>
配置好之后,要重启服务器。
缺点(Tomcat7.0之后):如果配置错误:tomcat会启动失败。(如果tomcat里面存放的其他的网站),其他网站也会停机。
4.2、第二种方式:将网站目录复制到tomcat/webapps目录(常用,必须掌握)
有一个网站(一个文件夹),把文件夹复制到tomcat的webapps目录下。
文件夹的名字,就是网站或者工程的访问目录.相当于之前配置 <Context path=”” 的配置
4.3、把网站目录压缩成war包部署到tomcat中
war包:就是一个压缩文件 zip格式的压缩文件。 只不过扩展名不是.zip 而是.war
把我们的项目进行压缩zip,改成war,把war文件拷贝到tomcat/webapps目录下
步骤1、把文件夹中的内容压缩成zip的格式,点击一个要部署的文件夹下面,全选 然后压缩
步骤2、修改文件的后缀名为.war
步骤3.把war文件复制到webapps目录下。tomcat会自己把war的文件进行解压
4.4、webapps目录下/ROOT工程的访问
当我们在浏览器中直接输入http://ip地址:端口号 那么 默认访问的是Tomcat目录/webapps/ROOT目录
如果webapps下面有一个ROOT的项目。那么在访问的时候,直接可以省略项目的名字/ 表示找到root目录
5.1、打开Eclipse的Server视图窗口
第一种情况,直接打开Servers窗口
第二种情况,搜索Servers窗口打开
图一,打开总的eclipse视图
图二:输入Server过滤出服务器窗口选项
Servers服务器窗口已成功打开,如下图:
5.2、创建Tomcat 服务器
1)在Servers窗口中,点击 创建 server 的文字提示连接。如下图:
2)创建一个新的Tomcat服务器实例
3)点击Browse按钮,打开目录选择窗口。选择Tomcat 解压目录
4)选择Tomcat目录,然后点击确定按钮
5)Tomcat目录选择好之后,点击 【Next】按钮继续操作
6)点击 【Finish】按钮结束操作
7)Tomcat 服务器创建成功!!!
5.3、启动Eclipse中的Tomcat服务器
1)Debug模式启动Tomcat服务器
提示当前为Debug模式启动!!!
Tomcat启动成功的控制台提示!!!
2)Run模式启动Tomcat服务器
Run模式启动显示
Tomcat启动成功的控制台提示!!!
5.4、停止 Eclipse 中的Tomcat 服务器
暴力停止 Tomcat (相当于电脑被拔掉电源一样。没有执行关机的准备操作。)
正常停止 Tomcat (相当于点击操作系统中的关机按钮,执行关机保存操作,然后关机)
5.5、配置Eclipse 中的Tomcat 布暑的Web工程路径
1)打开Servers窗口,双击Tomcat v6.0 Server 服务器打开 Tomcat的配置窗口
这里是Eclipse把工程发布后的三种不同的选项。
2)Tomcat 位置-选项介绍说明:
2.1、User workspance metadata (does not modify Tomcat installation) 将在eclipse的工作区间目录下eclipse的工作空间目录\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\ 有一份tomcat的拷贝所有布暑的web工程都会布暑到eclipse的工作空间目录\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps目录中
2.2、 User Tomcat installation (takes control of Tomcat installation) 在原Tomcat目录下做更改操作所有布暑的web工程都会发布到Tomcat目录下的\wtpwebapps目录中
2.3、 User custom location ( does not modify Tomcat installtion ) 自定义一个目录去布暑Web工程
比如操作如下:
一:选择自定义的布暑目录
二:选择你自定义的目录,然后点击确定。之后Tomcat的一些目录会被拷贝过来。布暑的工程也在这个目录下的wtpwebapps目录下
三:选中你要布暑的工程,右键选择菜单 Run As --->>> Run on Server 将工程布暑到刚刚自定义的目录下。
四:选择你当前的web工程需要使用的哪个服务器运行。
如果勾选中 Always use this server when running this project 表示下次运行服务器的时候默认使用当勾时时候选择的服务器运行。
五:等待Tomcat启动,web工程布暑成功后。查看
六:在浏览器中输入http://127.0.0.1:8080/day06/index.html 测试查看
6.1、 HTTP协议
1.HTTP(hypertext transport protocol),即超文本传输协议。这个协议详细规定了浏览器和万维网服务器之间互相通信的规则。
2.客户端与服务端通信时传输的内容我们称之为报文。
3.HTTP就是一个通信规则,这个规则规定了客户端发送给服务器的报文格式,也规定了服务器发送给客户端的报文格式。实际我们要学习的就是这两种报文。客户端发送给服务器的称为”请求报文“,服务器发送给客户端的称为”响应报文“。
大白话说,什么是协议。是双方相互约定好的规则;比如:租房协议:租房协议就是租客和房东之间相互约定好的租房规则
6.2、请求的协议格式
请求的HTTP协议格式:
请求行
请求头
空行
请求体
GET请求协议格式 (get请求没有请求体)
POST请求协议格式
6.3、常见请求头的说明
GET /Hello/index.jsp HTTP/1.1:GET请求,请求服务器资源的路径 Hello/index.jsp, 协议为http 版本为1.1;
Host:localhost:请求的主机名为localhost;
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0…:与浏览器和OS相关的信息。有些网站会显示用户的系统版本和浏览器版本信息,这都是通过获取User-Agent头信息而来的;
Accept: */*:告诉服务器,当前客户端可以接收的数据类型, */*,就表示什么都可以接收;
Accept-Language: zh-CN:当前客户端支持的语言,可以在浏览器的工具选项中找到语言相关信息;
Accept-Encoding: gzip, deflate:支持的压缩格式。数据在网络上传递时,可能服务器会把数据压缩后再发送;
Connection: keep-alive:客户端支持的链接方式,保持一段时间链接,默认为3000ms;
6.4、get请求和post请求都分别是哪些?
GET请求
1)、输入浏览器地址栏输入地址,直接按回车
2)、点击<a>超链接
3)、GET请求 表单提交
4)、script src=””,引入外部文件
5)、img src=”路径”,引入图片
6)、引入外部css。。。
POST请求
1)只有表单提交的时候method=post,提交表单就是发post请求
6.5、响应的协议格式
响应的HTTP协议格式
响应首行
响应头信息
空行
响应体
6.6、常见的响应码
响应码对浏览器来说很重要,它告诉浏览器响应的结果;
200:请求成功,浏览器会把响应体内容(通常是html)显示在浏览器中;
404:请求的资源没有找到,说明客户端错误的请求了不存在的资源;
500:请求资源找到了,但服务器内部出现了错误;
302:请求重定向,当响应码为302时,表示服务器要求浏览器重新再发一个请求,服务器会发送一个响应头Location,它指定了新请求的URL地址;
7.1、servlet简介
servlet 是运行在 Web 服务器中的小型 Java 程序。servlet 通常通过 HTTP(超文本传输协议)接收和响应来自 Web 客户端的请求。
要实现此接口,可以编写一个扩展 javax.servlet.GenericServlet 的一般 servlet,或者编写一个扩展 javax.servlet.http.HttpServlet 的 HTTP servlet。
此接口定义了初始化 servlet 的方法、为请求提供服务的方法和从服务器移除 servlet 的方法。这些方法称为生命周期方法,它们是按以下顺序调用的:
1.构造 servlet,然后使用 init 方法将其初始化。
2.处理来自客户端的对 service 方法的所有调用。
3.从服务中取出 servlet,然后使用 destroy 方法销毁它,最后进行垃圾回收并终止它。
Servlet:
1、接受浏览器发送过来的消息。
2、给浏览器返回消息。浏览器认识html。可以动态去输出html
7.2、servlet快速入门
7.2.1、如何创建动态的Web工程
1)先创建 动态的Web工程
2) 配置工程的选项
3)勾选生成web.xml配置文件
4)动态web工程创建完成!!!
5)web工程的介绍和说明
7.2.2、手动编写servlet实现
写servlet做两件事
1、实现servlet接口。 由sun公司定义的一个接口。(定义一个规范)
2、把类部署到web服务器中(tomcat)。
sun公司定义一个servlet的规范。定义了servlet应该有哪些方法,以及方法需要的参数。
1、实现servlet接口(javax.servlet.Servlet)
2、重写service方法(service方法每次请求都会调用一次)
[java] view plain copy
当浏览器输入地址,访问servlet的时候,servlet会执行servcie方法。
3、在WebContent/WEB-INF/web.xml中配置servlet的访问路径 。浏览器访问servlet的路径
web.xml(新建web工程的时候,eclipse自动创建出来的)的位置:
在web.xml的根标签下,直接书写如下内容。
[html] view plain copy
4、把项目部署到tomcat中,去启动tomcat。在地址栏中输入信息,访问servlet
控制台打印:
7.2.3、访问servlet的细节
浏览器地址栏中输入:http://localhost:8080/day06/hello
访问过程分析:
7.2.4、servlet生命周期
Servlet的生命周期
1.调用 init 方法 初始化Servlet
2.调用 Servlet中的service方法 处理请求操作
3.调用 destory方法 执行Servlet销毁的操作
init方法:当服务器创建一个serlvet的时候,会去调用init方法。当我们第一次去访问一个servlet的时候,会去创建这个servlet对象。并且只会创建一次。如果配置了load-on-startup 表示服务器启动的时候就创建servlet实例。
service方法:客户端每一次请求,tomcat都会去调用servcie方法。处理用户的请求。并且给其响应。每一次请求都会调用servcie方法。
estroy 方法:当服务器销毁一个servlet的时候,会调用里面的destory方法。当我们的web服务器,正常关闭的时候,会去调用destroy方法。否则不会调用destroy的方法。
7.3、使用Eclipse创建Servlet程序(重点*****)
1)通过Eclipse自动新建一个Servlet程序
2)修改Servlet的访问url地址
3)勾选需要生成的Servlet方法
4) 查看自动生成的结果内容!!!
5) 在浏览器中输出http://127.0.0.1:80/day06/helloServlet 访问测试
访问成功
7.4、Servlet是单例的。Servlet中的变量,它有线程安全问题。
7.4.1、全局变量,数据不安全。
7.4.2、方法内的局部变量,数据安全
*请认真填写需求信息,我们会在24小时内与您取得联系。