A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 轻语灬 初级黑马   /  2018-10-21 17:40  /  3543 人查看  /  20 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在一个JSP文件第一次被请求时,JSP引擎把该JSP文件转换成为一个servlet。(Servlet是位于Web 服务器内部的服务器端的Java应用程序,Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。 servlet是在服务器上运行的小程序 ,它的工作模式:1.客户端发送请求至服务器 2.服务器启动并调用Servlet,Servlet根据客户端请求生成响应内容并将其传给服务器 3.服务器将响应返回客户端)而这个引擎本身也是一个servlet,在JSWDK或WEBLOGIC中,它就是JspServlet。

JSP引擎先把该JSP文件转换成一个Java源文件,在转换时如果发现jsp文件有任何语法错误,转换过程将中断,并向服务端和客户端输出出错信息;如果转换成功, JSP引擎用javac把该Java源文件编译成相应的class文件。然后创建一个该SERVLET的实例,先初始化,在调用方法处理客户端的请求。对每一个请求,JSP引擎创建一个新的线程来处理该请求。每个客户端请求对应一个线程。以多线程方式执行可大大降低对系统的资源需求,提高系统的并发量及响应时间.

但应该注意多线程的编程限制,由于该servlet始终驻于内存,所以响应是非常快的。 如果.jsp文件被修改了,服务器将根据设置决定是否对该文件重新编译,如果需要重新编译,则将编译结果取代内存中的servlet,并继续上述处理过程。 虽然JSP效率很高,但在第一次调用时由于需要转换和编译而有一些轻微的延迟。

学习体会:

1.JSP是一种表示层的技术,我认为必须熟知JSTL和EL表达式。学JSP一定要对这些脚本元素很熟悉:

(1) 声明脚本元素

(2) 表达式脚本元素

(3) scriptlet脚本元素

可以再这些脚本元素中直接插入Java代码,用于流程控制和应用逻辑,看似十分简单和方便,但恰恰这些脚本元素污染了表示层。这些脚本元素是JSP早期版本遗留下来的问题,在JSP2.0中引入了EL并结合JSTL基本上解决了上述问题,这使我们可以编出不含有脚本的JSP代码,让JSP是真正意义上是用于表示。



2.JSP实质是Servlet ,究其本质来看JSP最终要编译成Java字节码即.class文件。在Tomcat下发现所有.jsp文件都被编译成.class文件,而这些类实质都是继承自Servlet。

3.java是大小写敏感的,用过其他编程语言的人最容易犯这个错误,尤其是刚上手的时候。java的调用过程都是要加括号的,一开始比较容易忽视

4.jsp中对应asp中的request.form()和request.querystring()的解决方法。

5.头疼的汉字处理问题。在其他的文章里曾说到在中文NT环境下如下语句输出会得到乱码解决方法是只要对字符串变量进行编码就可以得到正确结果。

6.在asp中经常使用到字符串判断语句,在java中String变量不是一个简单的变量而是一个类实例,不同的方法会得到不同的结果。

7. 在jsp中实现分页。符合搜索结果的多页呈现。

8.代码要调整规范便于他人阅读,方便自己修改。

9.虽然项目中应用不多,也没有连接数据库等资源,但作为jsp的学习还是很有成效的。

20 个回复

倒序浏览
楼主真的帅呆了!
回复 使用道具 举报
加油啊,小伙伴,你是最棒的
回复 使用道具 举报
wuli山楂 来自手机 中级黑马 2018-10-29 11:27:27
板凳
要想不被别人否定,自己就要更加努力
回复 使用道具 举报
希望大帅哥能越学越好,更上一层楼
回复 使用道具 举报
魂不灭,路不止 来自手机 初级黑马 2018-10-29 11:48:59
地板
哇,靓仔帖子写的不错啊
回复 使用道具 举报
回复 使用道具 举报
厉害呀,靓仔啊啊啊
回复 使用道具 举报
这不是14期的大佬吗
回复 使用道具 举报
14期怎么那么多人才呢,咋那么厉害呢
回复 使用道具 举报
优秀的班级啊啊啊啊
回复 使用道具 举报
大佬的文章,果然不同凡响
回复 使用道具 举报
回复 使用道具 举报

回复 使用道具 举报
思源靓
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马