servlet总概述

servlet生命周期:
其实就是servlet里的一些方法的执行顺序
当客户端第一次访问一个servlet的时候,servlet的容器(tomcat)会检查自己这边有没有你要访问的servlet的实例对象
如果有,就直接调用该对象的服务的方法(doGet,doPost,service),
如果没有这个servlet的实例对象,就会创建该servlet的 实例对象,就是调用servlet的构造方法
接下来马上调用servlet的init的方法:这个方法的作用是给当前的servlet进行一些初始化的工作:
包括创建请求对象,创建响应对象,创建servletContext对象。。创建ServletConfig对象,然后把servletContext对象
封装到ServletConfig对象中,然后再把ServletConfig对象传给init方法,这些对象统统都是Servlet容器创建的
接下马上调用服务的方法,当servlet从服务器上移走时,或者服务器停止时,就会先调用当前Servlet对象的destory方法,
到这为止,这个Servlet对象就结束了,他的生命周期也就结束了
把这个生命周期分成四个阶段:
实例化阶段:调用构造方法
初始化阶段 :调用INIT方法
服务阶段:调用(doGet,doPost)方法
销毁阶段:调用destory方法


在servlet里跳到指定资源的页面或者是其他的servlet可以有两种方式:
一种叫转发
一种重定向
什么是转发?
指客户端发出了一个请求,这个请求的控制权在服务器内部的一个转移,客户端是不知道的,所以地址栏就不会发生变化
所以客户端传过来的数据可以在服务器中达到共享
转发的实现 :通过调用请求对象的getRequestDispatcher("要访问的资源路径"),这个方法会返回一个RequestDispatcher对象
该对象里封装了要转发时访问的资源路径,然后通过调用该对象的forward(请求对象,响应对象)方法来实现达到指定的资源的路径
转发这个方法中在资源路径前面加上/表示从项目的根目录下去找这个文件,如果不加表示在当前目录下找这个文件
什么是重定向?
指客户端向服务器端发出了多次请求,所以地址栏是发生变化的,并且客户的数据也不会在多次请求中达到共享的效果
重定向的实现:通过调用响应对象的sendRedirect()方法来实现,该方法的参数就是要定向到的资源路径
重定向的方法如果不加/表示也在当前的目录下查找文件,加上/就表示整个站点的根目录,也就是服务器的根目录

两种方式的区别:
如果是重定向,地址栏上会发生改变
如果是转发,地址栏上不会发生改变

转发和重定向的路径上加/
转发如果加了/,表示当前项目的根目录,如果不加,表示当前目录
重定向如果加了/,表示当前站点的根目录,如果不加,表示当前目录
可以通过../返回上一级目录

如果是转发,客户端提交的数据可以在一次请求范围内共享 
如果是重定向,客户端提交的数据不可以在多次请求中共享

转发不能跳到其他应用程序的资源
重定向可以跳到其他应用程序的资源

转发是请求对象的方法,重定向是响应对象的方法


如果是在浏览器中直接访问servlet的路径,那么是通过doGet方法来实现访问的


什么是JSp?
就是在HTML页面中加入JAVA代码的页面就叫JSP
JSP包含的元素:
HTML静内容
小脚本
表达式
声明
注释
指令
内置对象 out,request,response,session,Cookie,application,config,Exception,pageContext
动作
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值