您好,登录后才能下订单哦!
一、什么是JSP?
HTML+Java代码+jsp标签=jsp。
在静态页面上添加动态信息就可以了,如果是Servlet还需要一行一行的输出。
通常在前台开发人员给出静态页面后,后台开发人员只需要在静态页面上添加信息即可,而不用再使用Sevlet一行一行的去输出了。
二、JSP的真身:Servlet
当客户请求的是JSP页面的时候,服务器会查看JSP对应的Servlet是否存在,如果存在,那么直接调用Sevlet的service()方法来处理请求。如果不存在,那么服务器会先把JSP编译成.java文件,然后再把.java文件编译成.class文件,然后调用service()方法。当这个jsp页面,第二次处理请求时,就直接调用真身的sercie()方法了。
JSP是servlet,JSP与我们编写的Servlet有什么不同呢?通常我们编写的Servlet就不要输出HTML代码了,而是转发到JSP页面。
即Servlet不再负责显示页面,而由JSP来完成。Servlet专注于控制层的内容。
在"真身"中,所有的静态内容会被输出。例如<html>是静态内容,它对应"真身"中的out.write("<html>");
三、JSP的脚本元素
JSP中的Java代码块就是最常见的动态信息,它分为三种:
<%...%>:代码片段。代码片段会原模原样的出现在“真身”中,不会有变动。正常的Java代码都可以在代码片段中出现。
<%=...%>:表达式。表达式会在“真身”中输出,例如:<%=a%>,对应真身中的out.print(a)。只能出现变量、常量,以及有返回值的方法调用,而不能出现分号!即在out.println()的合法参数都可以。
<%=a%>对应out.print(a);
<%="a"%>对应out.print("a");
<%=fun()%>对应out.print("fun()");
<%=a;%>对应out.print(a;);出错
<%=System.out.print("hello")%>对应out.print("System.out.print("hello")"),出错。
<%!...%> :声明。声明对应“真身”中的属性和方法。
四、EL
JSP2.0要把HTML和CSS分离、要把HTML和JavaScript分离、要把Java代码块替换成标签。标签的好处就是非Java人员都可以使用。
JSP2.0--纯标签页面,即:不包括<%...%>、<%=...%>、<%!...%>
EL(Expression Language)是一门表达式语言,它杜继英<%=...%>。我们知道在JSP页面中,表达式会被输出,所以EL表达式也会被输出。
EL表达式的格式::${...},例如${1+2}。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。