(3)创建Bean:<jsp:useBean> 创建一个Bean实例并指定她的名字和作用范围。 <jsp:useBean id="beanInstanceName" scope="page|request|session|application" class="package.className"/> 包含5个属性。 id:在所定义的范围中确认Bean的变量,程序中用id来使用此Bean实例。id的值对大小写敏感。 scope:Bean存在的范围及id变量名的有效范围。默认值为page。 class:使用new关键字及class构造器从一个class中实例一个bean。这个class不能是抽象的,并且必须有一个公用的,没有参数的构造器。 type:如果这个Bean已经指定范围中存在,使用type将赋予这个Bean一个数据类型。如果使用type的同时没有使用class或beanName,Bean将不会被实例化。 beanName:beanName可以是字符串的package.class,也可以是jsp表达式,它的值会传递给Beans.instantiate方法。type的值可以与beanName相同也可以是它的基类,或者是它所实现的接口。 (4)设置Bean属性:<jsp:setProperty> <jsp:setProperty name="beanInstanceName" property="*"|property="propertyName" value="string|<%=expression%>"|param="parameterName"/> name:表示已经在<jsp:useBean>中创建的Bean实例的名字,即id。 property:匹配Bean中的属性 param:指request对象中的参数名,将对应的值设定给Bean的属性。 value:使用指定的值来设定Bean属性。这个值可以是字符串,也可以是表达式。如果是字符串,那么就会被转换成Bean属性的类型(如"0.98"会转化成double类型0.98)。如果是表达式,则要求它的类型与Bean属性的类型一致。 PS:在同一个<jsp:setProperty>中不能同时使用param属性和value属性 (5)取得Bean属性:<jsp:getProperty> 获取已经存在的Bean对象中的属性值,在页面中显示。 <jsp:getProperty name="beanInstanceName property="propertyName"/> name:与存在的对象实例的名字相同。 property:对象中属性名 (6)使用Applet插件:<jsp:plugin> Html代码 <jsp:plugin type="applet" code="MeidaPlay.class" codebase="../classes"> <jsp:parmas> <jsp:param name="way" value="Hall"/> </jsp:params> <jsp:fallback> <p>Unable to load applet!</p> </fallback> </jsp:plugin> 使用<jsp:plugin>插入一个applet或Bean,必要的话还要下载一个Java插件用于执行它。 (7)定义参数:<jsp:param> 可以在<jsp:include>、<jsp:forward>、<jsp:plugin>中使用。 (8)插件错误提示:<jsp:fallback> 当<jsp:plugin>插件不能够正常显示时显示提示信息。 三、JSP内置对象 1. Request:请求对象 该对象封装了用户提交的信息,通过调用该对象相应方法可以获取封装的信息。 当request对象获取客户提交的汉字字符是,会出现乱码,必须进行特殊处理。 常用方法: getParameter(String parameterName):获取表单提交的信息。 getProtocol():获取客户使用的协议。 getServletPath():获取客户提交信息的页面。 getMethod():获取客户提交信息的方式。 getHeader(String str):获取HTTP头文件中的accept、accept-encoding和Host的值。 getRermoteHost():获取客户的IP地址。 getServerName:获取服务器名称。 getServerPort:获取服务器的端口号。 getParameterNames():获取客户段提交的所有参数的名字。 2. Response:响应对象 对客户的请求做出动态的响应,向客户端发生数据。 (1)动态响应contentType属性 用page指令静态地设置页面的contentType属性,动态设置这个属性时使用response.setContextType("text/html;charset=utf-8"); (2)Response重定向 response.sendRedirect("index.jsp"); 3. Session:会话对象 (1)什么是Session对象? Session对象在第一个JSP页面被装载时自动创建,完成会话期管理。 从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。 (2)Session对象的ID 当一个客户首次访问服务器上的一个JSP页面时,JSP引擎产生一个Session对象,同时分配一个String类型的ID号,JSP引擎同时将这个ID号发送到客户端,存放在Cookie中,这样Session对象,直到客户关闭浏览器后服务器端改该客户的Session对象才取消,并且和客户的会话对应关系消失。 (3)常用方法 public String getId():获取Session对象的编号。 public void setAttribute(String str,Object obj):将参数对象添加到Session对象中。 public Object getAttribute():根据属性名获取在Session对象中的属性。 public boolean isNew():判断是否是一个新的客户。 4. Application:应用程序对象 (1)什么是Application对象? 在服务器启动后就产生了这个Application对象,当客户在所访问的网站的各个页面之间浏览时,这个Appliaction对象都是同一个,所有的客户共享这个内置的Application对象。 (2)常用方法 setAttribute(String key,Object obj):将参数对象添加到Application对象中。 getAttibute(String key):根据属性名获取Application对象中的属性 5. Out:输出对象 out对象是一个输出流,用来向客户输出数据。 out.print():输出各种类型数据。 out.newLine():输出一个换行符。 out.close():关闭流。 6. Config:配置对象 一般我们使用Config对象获取一些初始化配置信息,常用的方法有getInitParameter和getInitParameterNames,以获得Servlet初始化时的参数。 7.Page:页面对象 page对象代表了正在运行的由JSP文件产生的类对象,不建议一般读者使用。 8.PageContext:页面上下文对象 JSP引入的PageContext的类,通过它可以访问页面的许多属性。pageContext变量存储与当前页面相关联的PageContext对象的值。PageContext类拥有getRequest、getResponse、getOut、getSession等方法。 9.Exception:例外对象 exception对象代表了JSP文件运行时所产生的例外对象,此对象不能在一般的JSP文件中直接使用,而只能在使用了 <%@page isErrorPage="true"%>的JSP文件中使用。这是因为JSP文件运行时产生的错误对象被向外抛出,只能被使用了<%@pageisErrorPage="true"%>标记从而具有拦截错误对象功能的JSP所拦截。最常用的方法就是getMessage,用来获取错误信息。 (责任编辑:admin) |