JSP知识点总结

1. JSP的概念

1.1. Java Server Pages:Java服务器页面,包含有Java代码的动态页面

1.2. JSP中Java代码作用:和后台程序交互

1.3. JSP执行流程

 

2. JSP页面元素

2.1. Java脚本元素

<%

NewsUser nu=(NewsUser)session.getAttribute("nu");

%>

2.2. 表达式

<%=nu.getUname() %>

2.3. 模板元素:JSP的静态HTML或者XML内容

<%

for(int i=0;i<5;i++){

%>

<!– 模板元素与JSP表达式混合使用 -->

<p><%=i %></p>

<%

}

%>

 

2.4. 声明元素

<%--  声明方法 --%>

<%!

String sayHello(String name){

return name+”,你好!”;

}

%>

 

<%--  调用方法 --%>

<%=sayHello(“刘德华”) %>

 

<%

//Java脚本中声明的变量是_jspService方法的局部变量

int i=9;

%>

<%!

//如果jsp页面名称为index.jsp

//加感叹号的脚本中声明的变量是index_jsp.java类的成员变量

int i=10;

%>

3. JSP的九大内置对象

3.1. request

3.1.1. Request是HttpServletRequest类的实例

3.1.2. 一次请求中传递的数据保存在request对象,一旦请求重定向,则request保存的数据将销毁

3.2. Response

3.2.1. Response是HttpServletResponse类的实例

3.2.2. 响应对象的作用:在后台程序将数据打印到浏览器,例如response.getWriter().print();可以使用response.sendRedirect()重定向请求路径

3.3. Out

3.3.1. out对象是JspWriter类的实例,是向客户端输出内容常用的对象

3.3.2. 在JSP页面上使用out.print()打印数据

3.4. Page

3.4.1. page表示当前page.jsp页面被Tomcat容器翻译成page_jsp.java类的对象

3.5. pageContext

3.5.1. 所有的内置对象都自动地被添加到pageContext对象中,例如pageContext.setAttribute("u", "刘德华",PageContext.SESSION_SCOPE);

3.6. Session

3.6.1. Session的生命周期与打开一次浏览器相联系,在同一个浏览器中打开多个窗口,所有这些窗口的session.getId()相同,也就是说程序认定当前是一个用户与服务端的一次会话

3.7. Application

3.7.1. application是ServletContext类的实例

3.7.2. 在Servlet类中,可以通过this.getSevletContext()获取ServletContext对象

3.7.3. 在JSP页面中,可用通过application获取ServletContext对象

3.7.4. Application生命周期与web应用程序相联系,也就是关闭网站,则application对象被销毁

3.8. Exception

3.8.1. 当页面发生异常,则可以通过exception对象获取页面具体的报错信息

3.8.2. 获取页面异常信息的步骤

在程序JSP页面设置错误页面,例如errorPage="error1.jsp"

在error1.jsp中将页面本身设置为错误页面,例如isErrorPage="true"

在error1.jsp中获取异常信息,例如<%=exception.getMessage()%>

3.8.3. 方法

3.9. Config

3.9.1. Config对象其实是实现javax.servlet.ServletConfig接口的类的实例对象

3.9.2. Config获取web应用程序的配置信息

4. 常用page指令与动作

4.1. <%@page import="java.util.*,java.io.*" %> 导入包名

4.2. <%@page pageEncoding=“utf-8"%> 设置页面的字符编码

4.3. <%@page session="false"%> 设置当前页面session是否生效,默认是true

4.4. <%@include file="copyright.jsp"%> 静态包含:将被引入的页面的Java代码与当前JSP中Java代码合二为一,共同组成_jspService()方法中的部分代码

4.5. <jsp:include page="a.jsp" flush="true" /> 动态包含:通过调用include方法,将被引入页面的代码直接运行,再继续运行当前页面的代码

4.6. 静态与动态的包含的区别

4.6.1. 静态include是在JSP文件被转换成Servlet的时候引入文件

4.6.2. 动态include插入文件的时间是在页面被请求的时候

4.7. <jsp:forward page=”页面路径或者servlete请求路径” /> 达到转发的效果

<!-- page=”tlist.news” 指定进入NewsServlet的请求路径 -->

<jsp:forward page="tlist.news" >

<!-- 发送请求的同时,可以向后台传递参数

Name=”a” value=”1” 相当于 tlist.news?a=1

 -->

<jsp:param value="1" name="a"/>

</jsp:forward>

4.8. 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值