JSP知识
来源:互联网 发布:mac单机游戏迅雷下载 编辑:程序博客网 时间:2024/05/21 03:56
JSP简介
JSP由传统的网页HTML文件(*.htm、*.html)中插入Java程序段(Scriptlet)和JSP标记(tag)组成。 在JSP中大部分都是由脚本小程序组成,所谓的脚本小程序就是里面包含了JAVA代码。Scriptlet共分为三种:
- <%%>:定义局部变量,编写语句
- <%!%>:定义全局变量,可以编写类和方法
- <%=%>:表达式输出,专门输出变量或一个具体值 类似于out.println
JSP工作原理
客户端通过浏览器路径发送一个请求,服务器接收到请求,转发或重定向到一个JSP页面。 这个JSP文件是第一次被请求,这时JSP引擎(特殊的Servlet)的操作是: 首先,把将这个JSP文件转换成一个Java类。如果在转换过程中出现异常,转换过程会被中断,并向服务器和客户端输出错误信息;如果转换成功,JSP引擎通过JVM把该Java类编译成相应的.class文件。 其次,创建一个Servlet实例,调用该实例的jspInit()方法,此方法在Servlet的整个生命周期中只执行一次。 然后,创建并启动一个新的线程,新线程调用Servlet实例的jspService方法。(对于每一个请求,JSP引擎都会创建一个新的线程来处理该请求;如果有多个客户端同时请求该JSP文件,则JSP引擎会创建多个线程,每个客户端请求对应一个线程)。 再然后,浏览器调用JSP文件时,Servlet容器会把浏览器的请求和对浏览器的响应封装成HttpServletRequest和HttpServletResponse对象,同时调用对应的Servlet实例中jspService()方法,把这两个对象作为参数传递给jspService()。 最后,jspService()方法执行后将HTML内容返回给客户端。
注意:
如果JSP文件被修改了,服务器将根据设置决定是否对该文件进行重新编译。如果需要重新编译,则将编译结果取代内存中的Servlet,并继续上述处理过程。 如果在任何时候由于系统资源不足,JSP引擎将以某种不确定的方式将Servlet从内存中移去。当这种情况发生时,jspDestroy()方法首先被调用, 然后Servlet实例便被标记加入“垃圾收集”处理。
参考:http://www.cnblogs.com/mlloc-clove/p/3549777.html
存放路径
存放在在tomcat的work文件夹下
D:\tomcat\apache-tomcat-9.0.0.M10\work
D:\tomcat\apache-tomcat-9.0.0.M10\work\Catalina\localhost\a51\org\apache\jsp
九大内置对象
常用方法: exception.getMessage();
四个作用域
补充
- 在jspInit()中可以进行一些初始化工作,如建立与数据库的连接、建立网络连接、从配置文件中获取一些参数等,而在jspDestory()中释放相应的资源。
- HTML代码错误的情况:正常翻译成java源代码
Java代码编译时错误的情况:正常翻译成Java源代码,执行时报500错误
Java代码运行时错误的情况:正常翻译成Java源代码,执行时报500错误
阅读全文
1 0
- JSP知识
- JSP知识
- JSP边线知识
- jsp自定义标签知识
- jsp 前台知识总结
- jsp学习小知识
- JSP+Servlet小知识
- JSP入门知识总结
- jsp知识回顾
- JSP小知识
- jsp小知识积累
- javaWeb中的JSP知识
- jsp相关知识
- JSP小知识
- jsp常用知识积累
- jsp相关知识
- jsp 相关知识
- jsp知识积累
- jdk环境变量配置
- java设计模式--多例模式(单例变形)
- 4. Zookeeper精要-数据模型
- Socket简介以及Java Socket编程
- springMVC流程
- JSP知识
- Faster-r-Cnn 的 CPU_Only 配置方式
- 第1章 算法在计算中的作用
- URI is not registered ( Setting | Project Settings | Schemas and DTDs )
- Python之装饰器、迭代器和生成器
- 会话跟踪技术(一):Session和Cookie技术
- HDU 1528 Card Game Cheater(二分图匹配+匈牙利算法+模拟)
- javaWeb文档预览之PDF.js实现PDF文件跨域预览(附测试实例)
- 动态规划