Servlet与9大内置对象:
jsp中相对路径和绝对路径:
页面跳转:
使用请求重定向的方式跳转页面时,需要使用request.getContextPath()+"/***.jsp";
使用服务器内部跳转方式:
request.getRequestDispatcher("../***.jsp").forward(request,response);
在JSP中如果要使用JSP提供的JavaBean的标签来操作简单类,则此类必须满足以下开发要求:
(1)所有的类必须放在一个包中,在Web中没有包的类是不存在的。
(2)所有的类必须声明为public class,这样才能被外部所访问
(3)类中所有的属性都必须封装,即使用private声明
(4)封装的属性如果需要被外部所操作,则必须编写对应的setter、getter方法
(5)一个JavaBean中至少存在一个无参构造方法,此方法为JSP中的标签所使用。
如果一个类中没有明确地定义一个构造方法,会自动生成一个无参的什么都不做的构造方法。
如果在一个类中只包含了属性、setter、getter方法,那么这种类就称为简单的JavaBean。
POJO(Plain Ordinary Java Objects):简单Java对象
VO(Value Object):与简单Java对象对应,专门用于传递值的操作上
TO(Transfers Object):传输对象,进行远程传输时,对象所在的类必须实现java.io.Serializable接口
在JSP中可以使用<%@page%>指令导入指定的classpath里面需要的包和类,也可以使用JSP中提供的<jsp:useBean>指令完成操作,语法如下:
<jsp:useBean id="实例化对象名称" scope="保存范围"class="包.类名称"/>
scope:表示此对象保存的范围,一共有page、request、session和application4种属性范围。
在开发生产环境中,如果需要在每次修改后自动加载配置JavaBean,则需要配置reloadable=“true”,但是在项目真正发布运行时一定要将reloadable的内容设置成false,以提升服务器的运行性能。但是当Tomcat重新加载了新的内容后,所有的操作都将初始化,所有设置过的session属性都将消失。
为什么使用<jsp:useBean>指令可以直接进行对象实例化?依靠反射机制完成。