Jsp复习(详细的知识点)
JSP(java Server Page)
他就是servlet,也是java类。通过jsp引擎把jsp转译成了servlet
jsp~java+html
动态网页技术,动态生成网页数据,而不是有动态效果的网页
常见的几种动态网页技术:
Jsp Asp(Active Server Page)微软 Php(Hypertext Preprocessor)超级文本预处理语言
1.Servlet:优点-逻辑处理方便 缺点:页面表现麻烦
Jsp:优点--页面表现麻烦 缺点--逻辑处理麻烦
实际就是:jsp偏向于视图,servlet偏向于逻辑控制
所以要互补使用,一般项目都采用:jsp+servlet+javabean
(当然,学了ssh后,可以采用ssh框架)
JSP语法
三种不同的指令:
编译器指令:
include--
静态导入<%@ include file="login.jsp"%>
是在servlet引擎转译时,就把地址文件内容包含了进去(两个文件
的源代码整合到一起,全部放到jspService方法中),所以只生成了一个
servlet,所以两个页面不能有同名的变量。
运行效率高一点点,耦合性较高,不够灵活
动态导入<jsp:include page="login.jsp"></jsp:include>
是在servlet引擎转译后,请求的此页面,所以共生成了两个
servlet,所以可以有同名变量
生成两个servlet,相当于两个类之间的调用,耦合性较低,非常灵活
page--引入import包,contentType配置,errorPage错误页面
taglib --引入标签库
脚本语法
注释:<!-- -->, 隐藏注释<%-- --%>也就是转译后的java代码中没哟此项语句
声明:<%! %> 可以在里边声明定义成员变量方法
可以定义在<% %>后边也能调用<%! %>里边的方法
例如:
<% test(); %>
<%! int hh=1;
void test(){
System.out.println("66666");
}
%>
表达式:<%= %> 相当于打印out.print();
java脚本段:<% %>
动作语法:<jsp:forward page="">
<jsp:param value="参数" name=""/>
</jsp:forward> 之后的代码<%不执行%>
<jsp:include page="可传参" >不能有空格换行</jsp:include>,
<jsp:param value="参数" name=""/>
<jsp:plugin>
<jsp:getProperty property="uname" name="u1" value="zahngsan"></jsp:getProperty>
源码<%
User user=(User)pageContext.getAttribute("u1");
user.setUname("zhangsan");
%>
作用域的寻找顺序从小到大:pageContext/request/session/application
<jsp:setProperty>,
<jsp:useBean %>的jsp文件中使用.
相关文章: