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 id="u1" class="com.bjsxt.login.User" scope="page"></jsp:useBean>相当于
<%
pageContext.setAttribute("u1",new User());
%>
jsp内置对象:有9大内置对象(包含作用域),四大作用域
requset--对象代表的是来自客户端的请求,通过
getParameter,getParameterNames,getParameterValues
调用这几个方法来获取请求对象中包含的参数的值
response--对象代表的是对客户端的响应,也就是说
可以通过response对象来组织发送到客户端的数据。
但是由于组织方式比较底层,所以不建议使用,需要向客户端
发送文字时直接使用out对象即可。
out--对象代表了向客户端发送数据的对象,与 response对象不同,
通过out对象发送的内容是浏览器需要显示的内容,是文本一级的,
可以通过out对象直接向客户端写一个由程序动态生成HTML文件。
常用的方法除了print和println之外,还包括clear,clearBuffer,flush
getBufferSize和getRemaining,这是因为out 对象内部还包含了一个缓冲区
所以需要一些缓冲区进行操作的方法。
session--对象代表服务器与客户端所建立的会话,当需要在不同的 jsp页面中
保留客户信息的情况下使用,比如在线购物,客户轨迹跟踪等
application--对象负责提供应用程序在服务器中运行的一些全局信息,
常用的方法有getMimeType和getRealPath等
pageContext--页面上下文对象
封装了当前jsp页面的运行信息,它提供了返回jsp页面的其他隐式对象的方法
通过它可以调用其他内置对象信息
例如:pageContext.forward("2.jsp");转向
config--对象提供一些配置信息,常用的方法有getlnitParameter和getlnitParameterNames
以获得Servlet初始化时的参数
page--对象代表正在运行的由jsp文件产生的类对象,一般不建议使用
exeception--对象则代表了jsp文件运行时所产生的例外对象,此对象不能直接使用。
而只能在使用了<%@ page isErrorPage="true" %>的jsp文件中使用.
转载于:https://www.cnblogs.com/fdxjava/p/10611384.html