一、JSP的由来
在前面的学习过程中,页面相关的内容主要是通过html文件完成,而Servlet技术主要是在获取浏览器(客户端)提交的请求数据,或者是给浏览器(客户端)响应数据。
在实际企业开发中,前端的页面(html文件)相关设计和美化工作都是前端工程师(美工)负责,后台的Java程序是由Java开发人员完成,前端给出的页面,不能满足后台开发人员的需求,这时就需要后台开发人员在Servlet中使用response获取输出流,拼接前端页面需要的html片段,这样会导致Servlet中的Java代码十分的臃肿,而且不利于前端人员维护页面。导致前后人员之间合作出现问题。针对这些问题,sun公司设计出JSP技术来解决。
JSP技术:Java Server Page。它的主要功能:可以直接在JSP文件中书写html代码,但是JSP文件最后会被翻译成对应的Java代码。这个翻译工作不需要开发人员做任何的事情,而直接由Java对应的机制完成。这样就可以保证前端工程师可以直接针对JSP文件进行页面设计和修改,后台人员可以在JSP页面中添加对应的业务程序。后台人员不用再在Servlet中通过response输出大量的html片段。
二、JSP三种脚本元素
在JSP中,可以书写html、css、js、dom、java代码。
注意:一般在公司开发不要在JSP文件嵌入大量的JAVA代码,后期JSP仅仅是用来显示Servlet处理完的数据的。
1、JSP的脚本声明(定义)
格式:
<%!
书写Java代码
%>
脚本声明:定义的java代码翻译完之后,相当于类中的成员。

2、JSP的脚本表达式
作用:他被翻译后保存在java程序的service方法中,使用print写到页面上
格式:
<%=”hello world!”%>

3、脚本片段
在书写java代码的时候,可以把java代码隔开,在隔开的位置中可以加入html代码

JSP文件在被访问的第一次,是会被web服务器,翻译成.java文件,并保存在tomcat的work目录下面。同时还会把这个Java文件进行编译,编译之后会生成class文件。

我们书写的JSP文件被翻译之后会变成一个Java程序,它的父类是HttpJspBase。而HttpJspBase的父类是HttpServlet。进而说明任何一个JSP文件,也就是一个Servlet程序。只是我们在书写的时候,可以直接在JSP文件中像书写html文件一样书写html代码。
三、EL表达式入门
在JSP中提供了EL表达式,可以快速的从不同的容器(page、request、session、ServletContext)中取出数据。
EL表达式的格式:
${在域中保存的数据的key值}
hello.jsp代码如下:

网友评论