1.jsp文件组成
1) html(包括css、javascript)直接写在.jsp文件里即可
2)java代码
第一种形式:java代码片段
语法:<% java代码 %>
第二种形式:jsp表达式
语法:<% = java表达式 %>
3)指令
所谓指令,就是告诉jsp引擎(容器当中,负责将.jsp文件转换成.java文件,并在运行时,为jsp
提供一些辅助支持的模块),在将.jsp文件转换成.java文件时,做一些额外的处理。
语法:<%@指令名 属性名=属性值%>
import属性:
用于导包。比如<%page import="java.util.*,java.txt.*"%>
contentType属性:等价于response.setContentType();
pageEncoding属性:告诉jsp引擎,.jsp文件保存时的编码。
4)隐含对象
所谓隐含对象,指的是在.jsp文件当中,不用声明和创建该对象,就可以直接使用的对象。
原因是,.jsp文件对应的.java文件当中,已经自动生成了该对象的代码。
out request response
2.转发
1)什么是转发?
一个web组建(jsp/servlet)将未完成的处理交给另一个web组建继续处理。转发的各个组件会共享
request和response对象。
2)如何 转发?
step1
先绑定数据
request.setAttribute(String name,Object obj);
跟绑定相关的另外两个方法
//如果name对应的值不存在,返回null。
Object request.getAttribute(String name);
request.removeAttribute(String name);
step2
获得转发器,转发
RequestDispatcher rd = request.getRequestDispatcher(String name);
rd.forward(request,response);
3)编程中要注意的问题
转发之前,不能够执行out.close()或者out.flush.
转发之前,会将response中缓存的数据先清空。
4)转发的特点
a.转发的目的只能是一个应用内部的某一个组件。
b.转发之后,浏览器地址栏的地址没有变化
c.转发设计的各个组件可以共享同一个request,resposea对象