IT修真院·小课堂丨互联网职业小课堂在线学习平台

课堂课题:

JSP是什么?JSP中可否直接连接数据库?为什么现在不推荐使用%%来写JSP的代码,而是使用C标签?

关联任务:

任务五

直播时间:

2018-12-24 16:30:00


课堂内容:

视频链接:

PPT链接:

提交按钮:

小课堂内容格式


标题:

【修真院xx(职业)小课堂】课题名称

开场语:

大家好,我是IT修真院XX分院第X期的学员XX,一枚正直纯洁善良的XX程序员,今天给大家分享一下,修真院官网XX(职业)任务X,深度思考中的知识点——XXX

(1)背景介绍:

背景介绍的时候,尽可能的要宽广,讲清楚来龙去脉,讲清楚为什么会需要这个技术。

(2)知识剖析:

讲知识点的时候,尽可能的成体系,学会成体系的去给别人介绍知识。现在很多做的都是零散的,没有分类。

(3)常见问题:

最少列出1个常见问题。

(4)解决方案:

写清楚常见问题的解决方案。

(5)编码实战:

尽可能的去寻找在真实项目中在用的。如果你能找到某个网站在用你说的知识点,这是最好的。学以致用,否则当成练习题就没有意义了。多准备一些demo,讲解过程中将知识点和demo结合,便于大家理解所讲解的知识点。

(6)拓展思考:

知识点之外的拓展思考,由分享人进行讲解,这些东西就是所谓的深度,也是一个人技术水准高低比较的表现。

(7)参考文献:

引入参加文献的时候,在引用的句子后面加上序号【1】。参考文献中列出详细来源。不要去抄别人的东西,这是一个基本的态度。

(8)更多讨论:

Q1:提问人:问题?
A1:回答人(可以是分享人,也可以是其他学员):回答
Q2:提问人:问题?
A2:回答人(可以是分享人,也可以是其他学员):回答
Q3:提问人:问题?
A3:回答人(可以是分享人,也可以是其他学员):回答

(9)鸣谢:

感谢XX、XX师兄,此教程是在他们之前技术分享的基础上完善而成。

(10)结束语:

今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~

JSP是什么?JSP中可否直接连接数据库?为什么现在不推荐使用%%来写JSP的代码,而是使用C标签?     中品

辅导师兄 [郑州|结业弟子]JAVA-张泉良


大家好,我是IT修真院郑州分院第12期的学员李雨航,一枚正直纯洁善良的后端程序员,今天给大家分享一下,修真院官网java(职业)任务4,



深度思考中的知识点——JSP是什么?JSP中可否直接连接数据库?为什么现在不推荐使用%%来写JSP的代码,而是使用C标签?


1.背景介绍

什么是JSP?

jsp 的全称是java server page,即java服务器网页。是sun公司开发的一种动态网页。具有安全和跨平台的优势。


2,知识剖析

1),JSP讲解


JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。


JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。


Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。

JSP与Java Servlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。


2),JavaServlets

JavaTM servlets是一个不受平台约束的Java小程序,它可以被用来通过多种方法扩充一个Web服务器的功能。你可以把Servlet理解成Server上的applets,它被编译成字节码,这样它就可以被动态地载入并用效地扩展主机的处理能力。 

Servlet与applets不同的地方是,它不运行在Web浏览器或其他图形化的用户界面上。Servlet通过servlet引擎运行在Web服务器中,以执行请求和响应,请求、响应的典型范例是HTTP协议。 


3),JavaBean

JavaBean是用Java语言编写的可重用软件组件。它可以通过构建工具用可视化的方式创建。一个JavaBean通常简称为Bean。 


软件组件是个自含的,可重用的软件单元。通过使用可视化的应用程序构建工具,软件组件可以嵌入到applets小程序,应用程序, servlets和复合组件中。你可以在一个图形化的用户接口下进行这种组合,而且立即就可看到组合的结果。 


JavaBean是用java语言编写的可重用的软件组件。编写JavaBean组件的方法同编写其他Java类一样。你也可以利用已有的组件, applet小程序或者Java类,并把它们转变为JavaBean。 


JSP使Java代码和特定的预定义动作可以嵌入到静态页面中。JSP句法增加了被称为JSP动作的XML标签,它们用来调用内建功能。另外,可以创建JSP标签库,

然后像使用标准HTML或XML标签一样使用它们。标签库提供了一种和平台无关的扩展服务器性能的方法。下面我会讲一下如何创建自定义标签


JSP九个内置对象:

  ● pageContext

  ● page

  ● config

  ● request

  ● response

  ● session

  ● application

  ● exception

  ● out


3.常见问题

Q:完全使用JSP做开发优缺点

优点:

开发速度贼快,只要写JSP就行了,JavaBean和Servlet都不用设计!

小幅度修改代码方便,直接修改JSP页面交给WEB容器就行了,不像Servlet还要编译成.class文件再交给服务器!【当然了,在ide下开发这个也不算是事】

 缺点: 

程序的可读性差、复用性低、代码复杂!什么jsp代码、html代码都往上面写,这肯定很难阅读,很难重用!


Q:使用JSP+JavaBean做开发优缺点:

 优点:

程序的可读性较高,大部分的代码都写在JavaBean上,不会和HTML代码混合在一起,可读性还行的。

可重复利用高,核心的代码都由JavaBean开发了,JavaBean的设计就是用来重用、封装,大大减少编写重复代码的工作!


 缺点:

没有流程控制,程序中的JSP页面都需要检查请求的参数是否正确,异常发生时的处理。显示操作和业务逻辑代码工作会紧密耦合在一起的!日后维护会困难


4.编码实战


5.拓展思考

创建自定义标签

我们可以有两种方式来实现自定义标签:


  ● 传统方式,实现Tag接口(老方法)


  ● 简单方式,继承SimpleTagSupport类


SimpleTagSupport类的执行顺序(原理):


  ①WEB容器调用标签处理器对象的setJspContext方法,将代表JSP页面的pageContext对象传递给标签处理器对象


  ②WEB容器调用标签处理器对象的setParent方法,将父标签处理器对象传递给这个标签处理器对象。【注意,只有在标签存在父标签的情况下,WEB容器才会调用这个方法】


  ③如果调用标签时设置了属性,容器将调用每个属性对应的setter方法把属性值传递给标签处理器对象。如果标签的属性值是EL表达式或脚本表达式,则WEB容器首先计算表达式的值,然后把值传递给标签处理器对象。


  ④如果简单标签有标签体,容器将调用setJspBody方法把代表标签体的JspFragment对象传递进来


  ⑤执行标签时:容器调用标签处理器的doTag()方法,开发人员在方法体内通过操作JspFragment对象,就可以实现是否执行、迭代、修改标签体的目的。



6.参考文献

https://cloud.tencent.com/developer/article/1156216



7.更多讨论

 Q:JSP是如何被执行的?


当客户端向一个jsp页面发送请求时,Web Container将jsp转化成servlet的源代码(只在第一次请求时),然后编译转化后的servlet并加载到内存中执行,执行的结果response到客户端。

 jsp只在第一次执行的时候会转化成servlet,以后每次执行,web容器都是直接执行编译后的servlet,所以jsp和servlet只是在第一次执行的时候不一样,jsp慢一点,以后的执行都是相同的


Q:jsp和servlet的各自应用的范围?

● request:如果客户向服务器发请求,产生的数据,用户看完就没用了,像这样的数据就存在request域,像新闻数据,属于用户看完就没用的


● session:如果客户向服务器发请求,产生的数据,用户用完了等一会儿还有用,像这样的数据就存在session域中,像购物数据,用户需要看到自己购物信息,并且等一会儿,还要用这个购物数据结帐


● servletContext:如果客户向服务器发请求,产生的数据,用户用完了,还要给其它用户用,像这样的数据就存在servletContext域中,像聊天数据


Q:jsp的缺点?

  1)不好调试

  2)与其他脚本语言的交互(可读性差


分享到此结束


评论

[郑州|结业弟子]JAVA-张泉良 发表于 2018-12-27 10:19:31 #1

可以多了解下jsp的四大作用域

回复

请您登录 后进行评论