JSP与JavaBean

JSP与JavaBean

 

  1. JavaBean概述

    1. JavaBean简介

Java是一种特殊的java类,在类的设计上遵循一定的滚翻,以供其他的组件来调用。JavaBean易于维护、封装了复杂的业务逻辑、具有可移植性、可用于本地传输和网络传输。

JavaBean分为两种,一种是基于用户界面的,另一种就是没有界面的,主要是封装了数据、业务处理。

Jsp使用javaBean可以使HTML代码和java代码分离,让开发人员分工协作。使jsp更加注重生成动态页面,事物处理由javaBean来处理。

 

1.2)规范

一个标准的javaBean遵循以下规范:

  1. 它是一个公共类,以便外部程序访问
  2. 具有一个无参数的构造方法,便于外部程序实例化的时候调用
  3. 提供get,set方法便于外部程序设置属性

 

凡是符合上面规范的类 都叫JavaBean

 

 

  1. 在JSP中使用JavaBean

JSP中可以像使用普通类一样访问JavaBean,例如,通过java脚本实例化javaBean、调用javaBean对象的方法等。为了能在jsp中更好的集成javaBean,java提供了3个动作元素,分别是<jsp:useBean>、<jsp:setProperty>、<jsp:getProperty>这三个元素分别用于创建查找javaBean实例对象、设置JavaBean对象的属性值和获取JavaBean对象的属性值。

 

2.1)<jsp:useBean>元素

该元素用于在某个作用域范围内查找一个指定名称的JavaBean对象,如果存在就直接返回他的引用,如果不存在则实例化一个新的javaBean对象,并将它指定的名称储存到指定的作用域范围内。

语法:

<jsp:useBean id=”beanInstanceName” 

class=”package.class” scope=”page|request|session|application”/>

 

 

 

元素的使用:

 

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8" import="com.qst.chapter07.javabean.ProductBean"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

</head>

<body>

<jsp:useBean id="product"

class="com.qst.chapter07.javabean.ProductBean" scope="page" />

</body>

</html>

 

元素会在scope指定的范围中查找id指定的javaBean对象,如果该域范围不存在此对象,则根据class属性指定的类名新建一个此属性的对象,并将此属性对象一id属性指定的名称储存到scope属性指定的域范围。

 

2.2)<jsp:setProperty>元素

 

该元素用于设置javaBean的属性,相当于调用JavaBean对象的setter方法。

语法:

<jsp:setProperty name=”beanInstanceName” 

property=”propertyName” value=”propertyValue”|

property=”propertyName” value=”parameterName”|

property=”propertyName” |

Property=”*”

/>

 

 

name属性指javaBean对象的名称

Property指对应javaBean对象的属性名

Value表示需要设置的值

Param属性将一个请求参数的值赋值给javaBean对象的某个属性,它可以将请求参数的字符串类型的返回值转化为javaBean属性所对应的类型该属性可选,value和param属性不能同时使用。

 

2.3)<jsp:getProperty>

该元素用于读取JavaBean属性的值。将读取的属性值转换为字符串后输出到响应正文中。

语法:

<jsp:getProperty name=”product” property=”totalPrice”/>

 

  1. JavaBean应用

 

若要对form表单进行处理,首先需要request对象getParameter()或者getParameterValues()方法获取请求数据进行业务处理,整个过程需要大量且冗长的代码。并且和业务处理代码相混淆。所以使用javaBean的到了很大的简化。

下面演示注册信息的代码:

 

 

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>注册第一步</title>

</head>

<body>

<h2 align="center">用户注册第一步</h2>

<form action="registerStep2.jsp" method="post">

<table border="1" width="50%" align="center">

<tr>

<td>用户名:</td>

<td><input type="text" name="username"></td>

</tr>

<tr>

<td>密 码:</td>

<td><input type="password" name="password"></td>

</tr>

<tr>

<td colspan="2" align="center"><input type="submit" value="下一步"></td>

</tr>

</table>

</form>

</body>

</html>





****************************************


 

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>注册第二步</title>

</head>

<body>

<%

// 设置请求编码方式,防止中文乱码问题

request.setCharacterEncoding("UTF-8");

%>

<!-- 实例化JavaBean,使用请求参数为对象属性赋值 -->

<jsp:useBean id="user" class="com.qst.chapter07.javabean.UserBean"

scope="session">

<jsp:setProperty property="username" name="user" />

<jsp:setProperty property="password" name="user" />

</jsp:useBean>



<h2 align="center">用户注册第二步</h2>

<form action="registerConfirm.jsp" method="post">

<table border="1" width="50%" align="center">

<tr>

<td>性别:</td>

<td><input type="radio" name="sex" checked="checked" value="男">男

<input type="radio" name="sex" value="女">女</td>

</tr>

<tr>

<td>年龄:</td>

<td><input type="text" name="age"></td>

</tr>

<tr>

<td>提示信息:</td>

<td><select name="tooltip"><option value="我妈妈的名字">我妈妈的名字</option>

<option value="我班主任的名字">我班主任的名字</option></select></td>

</tr>

<tr>

<td>提示答案:</td>

<td><input type="text" name="answer"></td>

</tr>

<tr>

<td>邮箱:</td>

<td><input type="text" name="email"></td>

</tr>

<tr>

<td>愿意接受信息:</td>

<td><input type="checkbox" name="message" value="新闻">新闻

<input type="checkbox" name="message" value="产品广告">产品广告 <input

type="checkbox" name="message" value="招聘">招聘</td>

</tr>

<tr>

<td colspan="2" align="center"><input type="submit" value="完成"></td>

</tr>

</table>

</form>

</body>

</html>



 

***************************************

 

 


 

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>注册第一步</title>

</head>

<body>

<%

// 设置请求编码方式,防止中文乱码问题

request.setCharacterEncoding("UTF-8");

%>

<!-- 查找JavaBean对象,使用请求参数为对象属性赋值 -->

<jsp:useBean id="user" class="com.qst.chapter07.javabean.UserBean"

scope="session" />

<jsp:setProperty property="*" name="user" />



<h2 align="center">用户注册信息确认</h2>

<form action="registerSuccess.jsp" method="post">

<table border="1" width="50%" align="center">

<tr>

<td>用户名:</td>

<td><jsp:getProperty property="username" name="user" /></td>

</tr>

<tr>

<td>密 码:</td>

<td><jsp:getProperty property="password" name="user" /></td>

</tr>

<tr>

<td>性别:</td>

<td><jsp:getProperty property="sex" name="user" /></td>

</tr>

<tr>

<td>年龄:</td>

<td><jsp:getProperty property="age" name="user" /></td>

</tr>

<tr>

<td>提示信息:</td>

<td><jsp:getProperty property="tooltip" name="user" /></td>

</tr>

<tr>

<td>提示答案:</td>

<td><jsp:getProperty property="answer" name="user" /></td>

</tr>

<tr>

<td>邮箱:</td>

<td><jsp:getProperty property="email" name="user" /></td>

</tr>

<tr>

<td>愿意接受信息:</td>

<td><jsp:getProperty property="messageChoose" name="user" /></td>

</tr>

<tr>

<td colspan="2" align="center"><input type="submit"

value="确认提交"></td>

</tr>

</table>

</form>

</body>

</html>



 

 

***************************

 

4.小结

  1. JavaBean是特殊的java类,以封装和重用为目的,在类的设计上遵循一定的规则
  2. JavaBean遵循1:是一个公共类2:有无参的构造方法3:有get、set方法
  3. Jsp有三个动作元素来访问JavaBean<jsp:useBean>、<jsp:setProperty>、<jsp:getProperty>

 

 

 

      -------20180912周三下午 图书馆

猜你喜欢

转载自blog.csdn.net/asc_123456/article/details/82662731
今日推荐