JSP与Servlet之间的交互,传值
一.Servlet
首先要明白一点,servlet需要容器的支持才能够运行,如Tomcat、jetty
达到servlet的请求,需要ServletRequest对象和ServletResponse对象去处理
servlet在服务器中的运行:1.加载到内存->2.初始化(init()) - > 3.调用(service(){doGet/doPost}) - 4.销毁(destroy())。其中(1)(2)(4)在 Servlet的整个生命周期中只会被执行一次
如果在web.xml中对servlet配置了load-on-startup,那么就是在容器加载时就将Servlet初始化,否则是接受第一次请求时再加载
在web.xml文件中, Servlet可以通过<serlvet>元素和<servlet-mapping>元素指定通过url的方式访问这些Servlet
servlet工作原理:
二.JSP
JSP(JavaServlet Page)其实就是servlet。是从Servlet继承而来。只不过它在Servlet当中又添加/修改了一些方法,作了新的封装
工作原理:
流程图解释:
浏览器请求JSP页面,服务器用JSP 引擎将其解析成Servlet类的Java源代码文件,也就是*_jsp.java,再由Java编译器编译成一个字节码文件,也就是*_jsp.class,并装载到 jvm解释执行。剩下的就等同于 Servlet的处理过程了
*_jsp.java文件就是servlet.java文件,包括 _jspInit()、_jspDestroy()、_jspService(request,response)三个方法,类比于servlet中init()、destroy()、service(request,response)三个方法
三.各自扮演的角色
现在JSP用来做页面视图的展现,servlet用于逻辑控制。在MVC 架构模式中,就 JSP 和 Servlet而言,C通常由 Servlet充当,V通常由 JSP来充当
JSP与Servlet之间的交互,传值的更多相关文章
- JSP与Servlet之间传值
Jsp与Servlet之间的传值有两种,一种是Jsp传值给Sevlet,另一种是Servlet传值给Jsp:使用request.response对象完成传值,具体实现如下: 1.JSP传值给Servl ...
- JSP与Servlet之间传值的一般方法,适合新手做练习
#JSP与Servlet之间传值 Jsp与Servlet之间的传值有两种,一种是Jsp传值给Sevlet,另一种是Servlet传值给Jsp:使用request.response对象完成传值,具体实现 ...
- 【转】(超详细)jsp与servlet之间页面跳转及参数传递实例
初步学习JavaEE,对其中jsp与Servlet之间的传值没弄清楚,查看网上资料,发现一篇超详细的文章,收获大大,特此记录下来.具体链接:http://blog.csdn.net/ssy_shand ...
- jsp与servlet之间的参数传递【转】
JSP与 servlet之间的传值有两种情况:JSP -> servlet, servlet -> JSP. 通过对象 request和 session (不考虑 application) ...
- Jsp与servlet之间页面跳转及参数传递实例(转)
原网址:http://blog.csdn.net/ssy_shandong/article/details/9328985 11. jsp与servlet之间页面跳转及参数传递实例 分类: Java ...
- js、JSP、servlet之间的传递小结
@ JS 与 JSP :JSP无法直接获取JS的值,只能通过隐藏表单或者dom节点设置. JSP中设置隐藏表单input,或者设置任意一个隐藏或者不隐藏的节点比如div, 而JS就通过document ...
- java web基础 js、JSP、servlet之间的传递
@ JS 与 JSP :JSP无法直接获取JS的值,只能通过隐藏表单或者dom节点设置. JSP中设置隐藏表单input,或者设置任意一个隐藏或者不隐藏的节点比如div, 而JS就通过document ...
- JSP与Servlet之间的关系事例说明
Servlet Servlet 没有 main 方法,不能够独立的运行,它的运行需要容器的支持,Tomcat 是最常用的 JSP/Servlet 容器.Servlet 运行在 Servlet 容器中, ...
- jsp和servlet之间传数据
一.jsp与java文件传递数据可以使用Servlet类来传递,jsp将数据存入到request对象中,Servlet类获取这个request对象,并将数据取出. 示例代码如下: JSP代码: < ...
随机推荐
- IDT系列:(一)初探IDT,Interrupt Descriptor Table,中断描述符表
原文: IDT系列:(一)初探IDT,Interrupt Descriptor Table,中断描述符表 IDT,Interrupt Descriptor Table,中断描述符表是CPU用来处理中 ...
- Win10 + CLion + 树莓派 + QT 远程开发调用Python
原则:能在一个机器上开发的就不在两台机器上!! 首先需要配置远程QT开发环境 配置Cmake cmake_minimum_required(VERSION 3.14) project(qt_test) ...
- HDU–5988-Coding Contest(最小费用最大流变形)
Coding Contest Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)To ...
- 线程的interrupt()
官网解释 If this thread is blocked in an invocation of the wait(), wait(long), or wait(long, int) method ...
- Linux设备驱动程序 之 度量时间差
概述 内核通过定时器中断来跟踪事件流: 时钟中断由系统定时硬件以及周期性的间隔产生,这个间隔由内核根据HZ的值设定,HZ是一个细节结构有关的常数:作为一般性规则,即使知道对应平台上的确切HZ值,也不应 ...
- Nginx之搭建反向代理实现tomcat分布式集群
参考博文: Nginx反向代理实现Tomcat分布式集群 1. jdk 安装 jdk 下载网址: http://www.oracle.com/technetwork/java/javase/downl ...
- PHP-生产随机验证码图片
// <span style="white-space:pre"> </span>//因为要把产生的验证码保存到session中,此处为session开始 ...
- PyTorch中使用深度学习(CNN和LSTM)的自动图像标题
介绍 深度学习现在是一个非常猖獗的领域 - 有如此多的应用程序日复一日地出现.深入了解深度学习的最佳方法是亲自动手.尽可能多地参与项目,并尝试自己完成.这将帮助您更深入地掌握主题,并帮助您成为更好的深 ...
- Docker-----关于dockerfile
docker build参数说明 --no-cache :创建镜像的过程不使用缓存: --force-rm :设置镜像过程中删除中间容器: --network=host:容器会使用宿主机的网络,容器与 ...
- Css设置字体
另,考虑到文件编码问题,在css中推荐使用中文字体的英文表示法,以下附常见中文字体的英文名:Mac OS的一些:Georgia 数字高低起伏Comic Sans MS 好看的英文字体华文细黑:STH ...