精华内容
下载资源
问答
  • 展开全部在JSP中使用JavaBean,可以实现HTML代码Java代码的分离,是JSp更易于开发维护:JavaBean是一个public类JavaBean 有一个不带参数的构造方法JavaBean中的32313133353236313431303231363533e78988e69d...

    展开全部

    在JSP中使用JavaBean,可以实现HTML代码和Java代码的分离,是JSp更易于开发和维护:JavaBean是一个public类

    JavaBean 有一个不带参数的构造方法

    JavaBean中的32313133353236313431303231363533e78988e69d8331333337396233属性通过get和set方法进行操作

    例如:定义个CircleArea的JavaBean用于封装圆面积的计算逻辑,以后凡是用到圆面积的计算方法均可使用该JavaBean来完成,实现了代码的重用。#CircleArea.java

    package JavaBeanTest;

    public class CircleArea {

    //定义两个属性 (r:半径;unit:单位)

    private double r=0;

    private String unit="";

    //无参的构造方法

    public CircleArea() {

    super();

    }

    public double getR() {

    return r;

    }

    public void setR(double r) {

    this.r = r;

    }

    public String getUnit() {

    return unit;

    }

    public void setUnit(String unit) {

    this.unit = unit;

    }

    //计算圆的面积并返回计算结果

    public String getArea(){

    return 3.14*r*r+"平方"+unit;

    }

    }

    在JSP中调用JavaBean代码如下:

    (1)导入JavaBean的类

    (2) 在指定范围内实例化一个JavaBean对象,如果该对象已经存在则直接引用

    (3) 对Javabean的实例对象进行操作

    (4)从指定范围内移除JavaBean

    -->

    JavaBean在JSP中的应用

    //调用page范围内的JavaBean

    circle1.setR(4);

    circle1.setUnit("米");

    out.println(circle1.getArea());

    out.println("
    ");

    //调用request范围内的JavaBean

    circle1.setR(6);

    circle1.setUnit("米");

    out.println(circle1.getArea());

    out.println("
    ");

    //调用session范围内的JavaBean

    circle1.setR(8);

    circle1.setUnit("米");

    out.println(circle1.getArea());

    out.println("
    ");

    //调用application范围内的JavaBean

    circle1.setR(9);

    circle1.setUnit("米");

    out.println(circle1.getArea());

    out.println("
    ");

    %>


    //将circle1从page范围内移除

    pageContext.removeAttribute("circle1");

    //将circle2从request范围内移除

    request.removeAttribute("circle2");

    //将circle3从session范围内移除

    session.removeAttribute("circle1");

    //将circle4从application范围内移除

    application.removeAttribute("circle1");

    %>

    展开全文
  • jsp页面中使用JavaBean

    万次阅读 2017-02-22 14:56:35
    1.JavaBean Javabean是一个使用java编写的可以重复利用、跨平台的软件组件。可以将Javabean看做一个具备一定功能的黑盒子,它的主要特性就是实现细节都封装起来。实际上Javabean是描述java的组件模型,在该模型中,...

    1.JavaBean

    Javabean是一个使用java编写的可以重复利用、跨平台的软件组件。可以将Javabean看做一个具备一定功能的黑盒子,它的主要特性就是实现细节都封装起来。实际上Javabean是描述java的组件模型,在该模型中,Javabean组件可以修改或与其他组件组合以生成新组件或完整的应用程序。Javabean一种java类,是可以通过封装成为具体某种功能或者处理某个业务的对象。
    jsp对于在web应用中集成Javabean组件提供了完善的支持,这种支持不仅能缩短开发时间(可以直接利用经测试的可信任的组件,避免重复开发),也是jsp应用带来了更多的可伸缩性。Javabean组件可以用来执行复杂的计算任务,或负责与数据库的交互,以及数据提取等。
    Javabean类从形式上与一般的Java类差别不大,但须注意以下特征和要求:
    (1)bean类必须有一个零参数(默认)构造函数。空构造函数在jsp元素创建bean时被调用。可以显式的定义一个零参数构造函数,也可以省略所有的构造函数,系统便会自动创建一个空的构造函数
    (2)依照Javabean规范,在Javabean类中,为了令外界可访问字段xxx,而且不破坏封装的要求,不应当将其定义成public可见域,而是应当为其定义getXxx,setXxx方法,作为对应字段的存储方法,对于布尔字段,通常使用isXxx方法来查询字段值。这种封装到访问器中的字段称为属性,而getXxx、setXxx方法称为访问器
    在jsp中使用一个Javabean之前,要先定义一个合法的Javabean类。该类必须具有一个默认构造函数,并且所有的字段只能通过访问器访问。如果人才管理系统的人才信息UserEntity实体类就具备了Javabean类特征,可以当做是一个一个Javabean使用:
    //人才信息实体类
    public class UserEntity {
    private int id = 1;//职工编号
    private String name="";//名称
    private String sex="";//性别
    private String birth ="";//生日
    private String degree ="";//学位
    private String in_date="";//入公司日期
    private String trans_date="";//转正日期
    private String dept="";//隶属部门
    private String interest="";//兴趣爱好
    private String specialty="";//特长
    //setter和getter方法
    .......

    2.Javabean属性

    Javabean属性用于描述Javabean的状态,如年龄,名称,电子邮件等。根据Javabean所处的环境,可以通过多种方式使用属性,可以在Javabean运行时通过getXxx和setXxx方法来改变其属性。
    在Javabean设计中,按照属性的不同作用分为以下几类,其中简单属性和索引属性比较常用。
    (1)简单(Simple)属性。一个Simple类型的属性表示一个伴随有一对getXxx()、setXxx()方法的变量。属性的名称与该属性相关的getXxx()、setXxx()方法相对应。如以下代码定义一个名为id的属性:
    private int id = 1;//职工编号
    public int getId() {
    return id;
    }
    public void setId(int id) {
    this.id = id;
    }

    (2)索引(Indexed)属性。一个Indexed类型的Javabean属性表示一个数组值,使用与该属性相对应的setXxx方法和getXxx方法可以存取数组只能怪某个元素的数值。同时也可以使用另外两个同名方法一次设置获得整个数组的值,即属性的值,例如:
    private int[] ids = {1,2,3,4,5};//职工编号
    public int[] getIds() {
    return ids;
    }
    public void setIds(int[] ids) {
    this.ids = ids;
    }
    public int[] getIds(int index) {
    return ids[index];
    }
    public void setIds(int index,int id) {
    this.ids[index] = id;
    }
    (3)绑定(Bound)属性。Javabean组件Bound类型的属性具有如下特性:当该属性的值发生变化时,必须通过其他的Javabean组件对象。每当Bound属性的值改变时,会激发有个PropertyChange事件,改时间封装了发生属性改变的事件的属性名、属性的原值,属性变化后的新值,这个时间将被传递到订阅了该事件的其他Javabean组件中,之余接收到该事件的Javabean组件对象会做出何种动作则由组件自己决定。
    (4)约束属性(Constrained)。Javabean组件的Constrained类型的属性具有以下性质:当这个属性的值将要发生变化的时候,与这个属性已经建立了某种监听关系的其他java对象 都有权否决属性值的改变。

    3.zaijsp中使用Javabean

    在jsp页面中使用Javabean,主要涉及<jsp:useBean>,<jsp:setProperty>和<jsp:getProperty>3个jsp动作元素。
    (1)实例化Javabean。jsp的动作元素<jsp:useBean>用于在jsp页面中实例化一个Javabean组件,这个实例化Javabean组件对象可以在这个jsp页面的其他地方被调用。
    <jsp:useBean>的基本语法如下:
    <jsp:useBean id="name" scope="page|request|session|application" class="className"/>
    其中id属性是用来设定Javabean的名称,利用id可以识别同一个jsp页面中使用的不同JavaBean组件实例,class属性指定jsp引擎查找Javabean字节码的路径,一般是这个Javabean所对应的Javabean类名。如:com.company.UserEntity;scope属性用于指定Javabean实例对象的生命周期,也是Javabean的有效作用范围,scope的值可以是page,request,session和application。
    如:
    <jsp:useBean id="user2" scope="page" class="com.communal.UserEntity"></jsp:useBean>

    id="user2"是指定Javabean的名称或标识,用于类实例的名称,scope="page"表示该Javabean的作用范围,page表示只在本jsp页面范围内可用,class="com.communal.UserEntity"则说明了该Javabean的类名
    (2)存取Javabean的属性。在jsp页面中使用<jsp:useBean>将Javabean组件对象实例化后,就可以对它的属性进行存取,分别使用动作元素<jsp:setProperty>和<jsp:getProperty>
    <jsp:setProperty property="propertyName" name="name" value=“string”/>
    其中name用来指定Javabean的名称,这个Javabean必须首先使用<jsp:useBean>来实例化,它的值应与<jsp:useBean>操作中的id属性的值一样。property属性被用来指定Javabean需要设置属性的名称。value属性是要赋给Javabean由property指定名称的属性值。

    <jsp:useBean id="user2" scope="session" class="com.communal.UserEntity"></jsp:useBean>
    <jsp:setProperty property="*" name="user2"/>

    这是Javabean的一个强大功能:当<jsp:setProperty>动作元素property属性的值为“*”时,表示希望jsp引擎将用户请求参数与Javabean进行自动匹配。当用户请求的参数名称与Javabean的属性名称相匹配时,自动完成属性赋值。如果request对象的参数值中有空值,那么对应的Javabean属性将不会设定任何值。同样,如果Javabean中有一个属性没有与之对应的request参数值,那么这个属性同样也不会设定。
    <jsp:getProperty>操作搭配<jsp:useBean>操作一起使用,可以获取某个Javabean组件对象的属性值,并使用输出方法将这个值输出到页面。
    <jsp:getProperty>动作的语法格式如下:
    <jsp:getProperty property="propertyName" name="BeanName" />
    其中,name指定Javabean的名称,需要注意name指定的Javabean组件对象必须已经使用<jsp:useBean>实例化;property:用来指定要读取的Javabean组件对象的属性的名称。
    Javabean在服务器上存在的形式是某个类的实例对象,因而使用<jsp:getProperty>动作等效于直接使用该对象的getXxx方法取得属性值,如:
    <%=beanName.getPropertyName()%>






    展开全文
  • JSP和JavaBean

    2021-01-01 19:26:51
    认识JavaBean二. JavaBean的概述1. JavaBean的作用2. Javabean的定义3. Javabean分类(1). 封装业务逻辑的Javabean(LoginDao.java封装了登录逻辑)(2). 封装数据的Javabean(实体类)三. 解决部分错误的方法1. 出现...

    一. 认识JavaBean

    Bean:翻译是豆子,表示是一个颗粒

    在这里插入图片描述
    在 JavaBean 中,可以将控制逻辑、值、数据库访问和其他对象进行封装,并且其可以被其他应用来调用。实际上,JavaBean 就是一种 Java 的组件技术

    JavaBean 支持两种组件:可视化组件和非可视化组件。对于可视化组件,开发人员可 以在运行的结果中看到界面效果;而非可视化组件一般不能观察到,其主要用在服务器端。 JSP 只支持非可视化组件。

    二. JavaBean的概述

    我们将JSP中登录操作的代码,转移到LoginDao.java;其中LoginDao类就称为JavaBean。

    login.jsp
    
    
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>通过数据库登录界面</title>
    </head>
    <body>
    	<form action="check.jsp" method="post">
    		用户名:<input type="text" name="uname"><br/>
    		密码:<input type="password" name="upwd"><br/>
    		<input type="submit" value="登录"><br/>
    	</form>
    </body>
    </html>
    
    check.jsp
    
    
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <%@ page import="dao.LoginDao"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>检验数据库是否存在登录用户</title>
    </head>
    <body>
    	<%
    		String name = request.getParameter("uname");
    		String pwd = request.getParameter("upwd");
    		LoginDao dao = new LoginDao();
    		int result = dao.login(name, pwd);
    		if(result>0){
    			out.print("登录成功!");
    		}
    		else if(result == 0){
    			out.print("用户名或密码有误!");
    		}
    		else{
    			out.print("系统异常!");
    		}
    			
    	%>
    </body>
    </html>
    
    JavaBean
    
    package dao;
    import java.sql.*;
    
    public class LoginDao {
    	public int login(String name, String pwd)	//返回值1:登录成功,0:登录失败(用户名或密码有误),-1:系统异常
    	{
    		String URL = "jdbc:mysql://localhost:3306/userdb?serverTimezone=GMT%2B8";
    		String username = "root";
    		String password = "root";
    		
    		Connection con = null;
    		Statement stmt = null;
    		ResultSet rs = null;
    		
    		try {
    	//		1. 导入驱动,加载具体的驱动类
    			Class.forName("com.mysql.cj.jdbc.Driver"); //加载具体的驱动类
    	//		2. 与数据库建立连接(通过DriverManager)
    			con = DriverManager.getConnection(URL, username, password);
    			
    	//		3. 发送sql,执行命令(查询)
    			stmt = con.createStatement();
    	
    //			String name = request.getParameter("uname");
    //			String pwd = request.getParameter("upwd");
    	
    			String sql = "select count(*) from tb_admins where fd_username='"+name+"' and fd_password='"+pwd+"'";
    			//有这个人返回值就是1,没有返回值就是0
    			
    	//		4. 执行SQL语句
    			rs = stmt.executeQuery(sql); //返回值表示查询的结果集
    			
    			
    	//		5. 处理结果
    			int count = -1;
    			if(rs.next())	//表示结果集的第一行
    			{
    				count = rs.getInt(1);//返回值就1个,所以只需要拿第一个就行
    			}
    			
    //			if(count>0){
    //				out.println("登录成功");
    //			}
    //			else{
    //				out.println("登录失败");
    //			}
    			return count;
    			
    		}
    		catch(ClassNotFoundException e)
    		{
    			e.printStackTrace();
    			return -1;
    		}
    		catch(SQLException e)
    		{
    			e.printStackTrace();
    			return -1;
    		}
    			
    		catch(Exception e)
    		{
    			e.printStackTrace();
    			return -1;
    		}
    			
    		finally {
    			try {
    	//			6. 关闭连接
    				if(rs!=null)
    					rs.close();
    				if(stmt!=null)
    					stmt.close();
    				if(con!=null)
    					con.close();
    				
    			}catch(SQLException e) {
    				e.printStackTrace();
    			}
    		}
    	}
    }
    
    

    1. JavaBean的作用

    • 减轻了JSP的复杂度
    • 提高代码复用(以后任何地方的登录操作,都可以通过调用LoginDao实现)

    2. Javabean的定义

    本质就是一个Java类

    满足以下2点,就可以称为Javabean

    • public修饰的类,public无参构造
    • 所有属性(如果有)都是private,并且提供了set/get(如果boolean则get可以替换成is)

    3. Javabean分类

    从使用层面分类:

    从以下来看:使用Javabean可以简化代码(jsp->jsp+java)和提高代码复用(LoginDao.java)

    (1). 封装业务逻辑的Javabean(LoginDao.java封装了登录逻辑)

    处理逻辑

    用于操作一个封装数据的Javabean(注:封装数据的Javabean是表示数据库中表对应的实体类)

    可以将JSP中的JDBC代码,封装到Login.java类中(Login.java)

    通常将该Java类叫做DAO(Data Access Object/数据访问对象)类,它专门负责对数据库的访问

    1. 举例理解

    封装业务逻辑的Javabean
    
    package bean;
    import java.sql.*;
    
    public class LoginDao {
    	public int login(String name, String pwd)	//返回值1:登录成功,0:登录失败(用户名或密码有误),-1:系统异常
    	{
    		String URL = "jdbc:mysql://localhost:3306/userdb?serverTimezone=GMT%2B8";
    		String username = "root";
    		String password = "root";
    		
    		Connection con = null;
    		Statement stmt = null;
    		ResultSet rs = null;
    		
    		try {
    	//		1. 导入驱动,加载具体的驱动类
    			Class.forName("com.mysql.cj.jdbc.Driver"); //加载具体的驱动类
    	//		2. 与数据库建立连接(通过DriverManager)
    			con = DriverManager.getConnection(URL, username, password);
    			
    	//		3. 发送sql,执行命令(查询)
    			stmt = con.createStatement();
    	
    //			String name = request.getParameter("uname");
    //			String pwd = request.getParameter("upwd");
    	
    			String sql = "select count(*) from tb_admins where fd_username='"+name+"' and fd_password='"+pwd+"'";
    			//有这个人返回值就是1,没有返回值就是0
    			
    	//		4. 执行SQL语句
    			rs = stmt.executeQuery(sql); //返回值表示查询的结果集
    			
    			
    	//		5. 处理结果
    			int count = -1;
    			if(rs.next())	//表示结果集的第一行
    			{
    				count = rs.getInt(1);//返回值就1个,所以只需要拿第一个就行
    			}
    			
    //			if(count>0){
    //				out.println("登录成功");
    //			}
    //			else{
    //				out.println("登录失败");
    //			}
    			return count;
    			
    		}
    		catch(ClassNotFoundException e)
    		{
    			e.printStackTrace();
    			return -1;
    		}
    		catch(SQLException e)
    		{
    			e.printStackTrace();
    			return -1;
    		}
    			
    		catch(Exception e)
    		{
    			e.printStackTrace();
    			return -1;
    		}
    			
    		finally {
    			try {
    	//			6. 关闭连接
    				if(rs!=null)
    					rs.close();
    				if(stmt!=null)
    					stmt.close();
    				if(con!=null)
    					con.close();
    				
    			}catch(SQLException e) {
    				e.printStackTrace();
    			}
    		}
    	}
    }
    
    

    (2). 封装数据的Javabean(实体类)

    例如:Student.java Person.java

    对应于数据库中的一张表

    通常将该类称为VO(Value Object)类,来配合DAO来使用,在DAO中每查询到一条记录就将其封装为Student对象,该Student对象属于VO,最后将所有实例化的VO存放在集合内返回。

    package entity;
    
    public class Person {	//实体类
    	private int id;
    	private String name;
    	private boolean isChina;
    	
    	public int getId() {
    		return id;
    	}
    	public void setId(int id) {
    		this.id = id;
    	}
    	public String getName() {
    		return name;
    	}
    	public void setName(String name) {
    		this.name = name;
    	}
    	public boolean isChina() {	//boolean类型的属性isXxx()等价于getXxx();
    		return isChina;
    	}
    	public void setChina(boolean isChina) {
    		this.isChina = isChina;
    	}
    	
    }
    
    

    在这里插入图片描述
    当出现了很多的字段,check页面就需要传递很多的字段,太乱不易管理

    解决办法:

    将需要传递的数据,封装成一个类,封装完成之后只需要传递一个就行(本质:方法传参)
    

    在这里插入图片描述
    例如:
    在这里插入图片描述

    1. 举例理解

    Fd_students login = new Fd_students(uname,upwd); //即用Login对象,封装了2个数据(用户名和密码)

    chack.jsp
    
    
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <%@ page import="bean.LoginDao"%>
    <%@ page import="entity.*"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>检验数据库是否存在登录用户</title>
    </head>
    <body>
    	<%
    		String name = request.getParameter("uname");
    		String pwd = request.getParameter("upwd");
    		Fd_students login = new Fd_students(name,pwd);
    		
    		LoginDao dao = new LoginDao();
    //		int result = dao.login(name, pwd);
    		int result = dao.login(login);
    
    		if(result>0){
    			out.print("登录成功!");
    		}
    		else if(result == 0){
    			out.print("用户名或密码有误!");
    		}
    		else{
    			out.print("系统异常!");
    		}
    			
    	%>
    </body>
    </html>
    
    封装数据的Javabean
    
    Fd_students.java
    对应于数据库中的Fd_students的表
    
    package entity;
    
    public class Fd_students {
    	private int id;
    	private String name;
    	private String pwd;
    	
    	public Fd_students() {	//无参构造
    		
    	}
    	
    	public Fd_students(String name, String pwd) {
    		this.name = name;
    		this.pwd = pwd;
    	}
    	
    	public int getId() {
    		return id;
    	}
    	public void setId(int id) {
    		this.id = id;
    	}
    	public String getName() {
    		return name;
    	}
    	public void setName(String name) {
    		this.name = name;
    	}
    	public String getPwd() {
    		return pwd;
    	}
    	public void setPwd(String pwd) {
    		this.pwd = pwd;
    	}
    	
    }
    
    
    封装业务逻辑的Javabean
    
    LoginDao.java
    
    
    package bean;
    import java.sql.*;
    
    import entity.Fd_students;
    
    public class LoginDao {
    //	public int login(String name, String pwd)	//返回值1:登录成功,0:登录失败(用户名或密码有误),-1:系统异常
    	public int login(Fd_students login)
    	{
    		String URL = "jdbc:mysql://localhost:3306/userdb?serverTimezone=GMT%2B8";
    		String username = "root";
    		String password = "root";
    		
    		Connection con = null;
    		Statement stmt = null;
    		ResultSet rs = null;
    		
    		try {
    	//		1. 导入驱动,加载具体的驱动类
    			Class.forName("com.mysql.cj.jdbc.Driver"); //加载具体的驱动类
    	//		2. 与数据库建立连接(通过DriverManager)
    			con = DriverManager.getConnection(URL, username, password);
    			
    	//		3. 发送sql,执行命令(查询)
    			stmt = con.createStatement();
    	
    //			String name = request.getParameter("uname");
    //			String pwd = request.getParameter("upwd");
    	
    			String sql = "select count(*) from tb_admins where fd_username='"+login.getName()+"' and fd_password='"+login.getPwd()+"'";
    			//有这个人返回值就是1,没有返回值就是0
    			
    	//		4. 执行SQL语句
    			rs = stmt.executeQuery(sql); //返回值表示查询的结果集
    			
    			
    	//		5. 处理结果
    			int count = -1;
    			if(rs.next())	//表示结果集的第一行
    			{
    				count = rs.getInt(1);//返回值就1个,所以只需要拿第一个就行
    			}
    			
    //			if(count>0){
    //				out.println("登录成功");
    //			}
    //			else{
    //				out.println("登录失败");
    //			}
    			return count;
    			
    		}
    		catch(ClassNotFoundException e)
    		{
    			e.printStackTrace();
    			return -1;
    		}
    		catch(SQLException e)
    		{
    			e.printStackTrace();
    			return -1;
    		}
    			
    		catch(Exception e)
    		{
    			e.printStackTrace();
    			return -1;
    		}
    			
    		finally {
    			try {
    	//			6. 关闭连接
    				if(rs!=null)
    					rs.close();
    				if(stmt!=null)
    					stmt.close();
    				if(con!=null)
    					con.close();
    				
    			}catch(SQLException e) {
    				e.printStackTrace();
    			}
    		}
    	}
    }
    
    

    三. 解决部分错误的方法

    1. 出现的问题

    如果jsp出现错误:The import Xxx cannot be resolved …

    2. 解决的办法

    尝试解决步骤:

    (1). a. 可能是JDK、tomcat版本问题

    在这里插入图片描述
    在这里插入图片描述

    (2). b. 清空各种缓存

    在这里插入图片描述

    清除tomcat缓存
    

    在这里插入图片描述

    清除项目缓存
    

    在这里插入图片描述

    清除项目缓存
    

    (3). c. 删除之前的tomcat,重新解压缩,配置tomcat,重启计算机

    (4). d. 如果类之前没有包,则将该类加入包中

    四. 在JSP中使用JavaBean

    1. 定义Javabean

    (1). 方法一

    直接在 JSP 中实例化 JavaBean

    <% 
    	Student student = new Student(); 
    	//使用 student 
    %> 
    

    (2). 方法二

    使用<jsp:useBean>标签
    
    <jsp:useBean id="idName" class="package.class" scope="page|session|"> </jsp:useBean>
    
    id:指定Javabean对象的名称
    class:指定用哪个类来实例化Javabean对象
    scope:指定对象的作用范围
    
    等价于:
    <jsp:useBean id="student" class="beans.Student"></jsp:useBean> 
    

    2. 设置Javabean属性

    在定义了Javabean之后,需要在jsp页面中设置Javabean组件的属性,也就是调用setter方法

    (1). 方法一:直接编写 Java 代码

    <jsp:useBean id="student" class="beans.Student"></jsp:useBean> 
    <% 
    	student.setStuname("张华"); 
    %> 
    
    

    (2). 方法二:

    使用<jsp:setProperty>标签
    

    1. 当属性值来源为字符串

    语法:

    <jsp:setProperty property="属性名称" name="bean 对象名" value="常量"/>
    

    举例:

    <jsp:useBean id="student" class="beans.Student"></jsp:useBean>
    <jsp:setProperty property="stuname" name="student" value="张华" />
    

    2. 当值的来源为request参数时

    语法:

    <jsp:setProperty property="属性名称" name="bean 对象名"  param="参数名"/>
    

    3. 获取Javabean属性

    (1). 方法一:使用 JSP 表达式或者 JSP 程序段

    举例:

    <%@ page language="java" import="beans.Student" contentType="text/html; charset=gb2312"%> 
    
    <jsp:useBean id="student" class="beans.Student"></jsp:useBean> 
    
    <jsp:setProperty property="name" name="student" value="rose" /> 
    
    <%=student.getStuname()%> 
    
    

    (2). 方法二:使用 jsp:getProperty 动作

    语法:

    <jsp:getProperty property="属性名称" name="bean 对象名" />
    

    举例:

    <jsp:getProperty property="stuname" name="student" />
    

    五. JavaBean的范围

    scope属性指定其作用范围

    1. page

    page 范围表示 JavaBean 对象的作用范围只是在实例化其的页面上,只在当前页面可用,在别的页面中不能被认识

    2. request

    request 范围表示 JavaBean 实例除了可以在当前页面上可用之外,还可以在通过 forward 方法跳转的目标页面中被认识到

    3. session

    session 范围表示 JavaBean 对象可以存在 session 中,该对象可以被同一个用户同一次会话的所有页面认识到

    4. application

    当 scope 的属性值为 application 时,该对象可以被所有用户的所有页面认识到

    jsp:useBean 动作所实例化的对象就会保存在服务器的内存空间中,直到服务器关闭,才会被移除。在此期间如果有其他的 JSP 程序需要调用到该 JavaBean,jsp:useBean 动作不会创建新的实例

    展开全文
  • 【问答题】JSTL 标签()可以实现 Java 程序中的 for 语句功能。...【单选题】阅读下面代码片段: RequestDispatcher dispatcher=request.getRequestDispatcher(a.jsp“”); Dispatcher.forward(request,re...

    【问答题】JSTL 标签()可以实现 Java 程序中的 for 语句功能。

    【单选题】下列Servlet的方法中,()方法当服务器关闭时被调用,用来释放Servle所占的资源。

    【单选题】阅读下面代码片段: RequestDispatcher dispatcher=request.getRequestDispatcher(a.jsp“”); Dispatcher.forward(request,response); 关于该代码的作用,下列叙述正确的是()。

    【单选题】下列Servlet的方法中,()方法载入时被执行,且只执行一次,负责对Servlet进行初始化。

    【单选题】下面语句与 等价的是()。

    【单选题】用户可以在以下()标记之间插入变量与方法声明。

    【单选题】()不是EL的隐含对象。

    【简答题】什么对象是JSP的内置对象?常见的内置对象有哪些?

    【单选题】include指令用于在JSP页面中静态插入一个文件,所插入文件可以是JSP页面HTML网页,文本文件或一段Java代码,但必须保证插入后形成的文件是()

    【单选题】下面的()内置对象是对客户的请求做出响应,向客户端发送数据的。

    【单选题】给出了如下的查询条件字符串“String condition = “insert book values(?,?,?,?,?)”;”,() 接口适合执行该SQL查询。

    【单选题】下列Servlet的方法中,()方法用来为请求服务,在Servlet生命周期中,Servlet每次请求一次就会被调用一次。

    【单选题】下列选项中,()不是Servlet中使用的方法。

    【单选题】在“”标记之间声明的Java方法称为页面的成员方法,其()有效

    【问答题】与 功能类似的 JSTL 标签是()

    【简答题】JSP 页面有哪几种主要元素组成?

    【单选题】在JSP中保存用户会话信息使用()对象。

    【单选题】在test.jsp文件中有如下一行代码: 要使ueser对象一直存在于会话中,直到终止或被删除为止,在下面画线处应填入()

    【简答题】在一个JSP页面中是否允许使用page指令为contentType属性设置多个值?允许使用page指令为import属性设置多个值?

    【简答题】First.jsp和first.jsp是否为相同的JSP文件名?

    【简答题】request、session和application对象的作用域是什么?他们之间有什么区别?

    【单选题】下列不属于JSP内置对象的是()。

    【单选题】在 “标记之间声明的Java的方法称为页面的成员方法,其()有效

    【单选题】JSP的page指令的languange属性的默认值是()。

    【单选题】下面方式中正确使用JavaBean的是()。

    【单选题】JSP页面可以在.””标记之间放置Java表达式,之间输出Java表达式得值,组成.”

    【简答题】安装Tomcat服务器所在的计算机需要事先安装JDK吗?

    【单选题】如果选择一个对象保存聊天室信息,则选择()。

    【单选题】下面对象中作用域最大的是()

    【简答题】动作标记include和指令标记include的区别是什么?

    【单选题】下面()语句可以获取用户输出的信息。

    【单选题】可以使用()方法实现客户的重定向。

    【单选题】在JDBC中,( )接口不能被Connection创建。

    【单选题】阅读下面代码片段: JavaBeanClass bean=new JavaBeanClass(parameter); HttpSession session=request.getSession(true); Session.setAttribute(“keyword”,bean); 关于该代码创建的bean,下列叙述正确的是()

    【单选题】下面()操作不能关闭session对象。

    【单选题】下列变量声明在()范围内有效

    【单选题】查询结果集ResultSet对象是以统一的行列形式组织数据的,执行“ResultSet rs = stmt.executeQuery(“selet bid ,name,author,publish,price from book”);”语句,得到的结果集rs的列数为( )

    【单选题】在JSP中使用 标记时不会出现的属性是()。

    【单选题】JSTL 标签()可以实现 java 程序中的 if 语句功能。

    【单选题】在JSP中使用 动作可以将JavaBean引入页面,对JavaBean的访问范围不能是()。

    【简答题】如果有3个用户访问一个JSP页面,则该页面中的Java程序片将被执行几次?

    【单选题】以下是关于和标记的描述,正确的是()。

    【单选题】下列选项中,对Servlet描述错误的是()。

    【单选题】JaveBean中方法的访问属性必须是()。

    【单选题】JavaBean的作用域可以是()、page、session和application.

    【单选题】在Web应用程序中有以下程序代码段,执行后转发到某个JSP页面: ArrayList dogNames= new ArrayList(); dogNames.add("goodDog"); request.setAttribute("dogs", dogNames); 下列选项中,()可以正确地使用EL取得数组中的值。

    【简答题】Tomcat服务器的默认端口号是什么?如果想修改该端口号,应该修改哪个文件?

    【简答题】JSP引擎是怎样处理JSP页面中的HTML标记的?

    【单选题】下列选项中,( )不是JDBC的工作任务。

    【简答题】“之间声明的变量与””之间声明的变量有和不同?

    展开全文
  • javaBean和jsp应用

    2021-03-13 11:35:57
    JavaBean是一种可复用,跨平台的组件。共有两种JavaBean:一种无用户界面,这种一般用于处理...Jsp中访问JavaBean语法:1. 使用page指令导入 JavaBean 类:2. 使用标签声明JavaBean对象:注意:要给出完整的(包名 . ...
  • jsp中调用javabean

    2021-02-12 16:47:31
    JavaBean是一种可重复使用,且跨平台的软件组件...Jsp通常访问的是后一种javaBean.Jsp和javaBean搭配使用的优点:1.使得html与java程序分离,这样便于维护代码。如果把所有的程序代码都写到jsp网页中,会使用代码繁...
  • 如何用JSP操作页面?...JSP标签也称之为Jsp Action(JSP动作)元素,它用于在Jsp页面中提供业务逻辑功能,避免在JSP页面中直接编写java代码,造成jsp页面难以维护。 JSP常用标签  jsp的常用标签有以下三个
  • JSPJavaBean结合使用

    2021-03-06 18:37:44
    JavaBean是一种可重复使用,且跨平台的软件组件...Jsp通常访问的是后一种javaBean.Jsp和javaBean搭配使用的优点:1.使得html与java程序分离,这样便于维护代码。如果把所有的程序代码都写到jsp网页中,会使用代码繁...
  • JSPJavaBean和Servlet

    2018-01-08 13:41:37
    1、JavaBean作用 ...JavaBean技术则是将Java代码与HTML进行分类,将业务代码封装到一些Java类中,在JSP页面中需要实现一项功能时调用对应的Java类,以此降低HTML与Java代码之间的耦合度。 2、JavaBe
  • 1. JavaBean简介JavaBean是一种可重复使用且跨平台的软件组件。...JSP访问的通常是后一种JavaBeanJSPJavaBean搭配使用的好处: 使得HTML与Java程序分离,这样便于维护代码。如果把所有的程序代码都写到JSP网...
  • JSP中如何使用JavaBean

    千次阅读 2017-05-24 10:19:48
     Class jsp Servlet   JavaBean是一种可重复使用,且跨平台的软件组件。JavaBean可分为两种:一种是有用户界面(UI)的javaBean;还有一种是没有用户界面,主要负责处理事务(如数据运算,操纵数据库)的java
  • javaBeanjsp中的使用

    2014-06-03 15:12:39
    MVC设计模式:(Model View Controller) ...JavaBean可分为两种:一种是有用户界面(UI)的javaBean;还有一种是没有用户界面,主要负责处理事务(如数据运算,操纵数据库)的javaBeanJsp通常
  • JavaBean——JSP

    2020-04-15 09:19:50
    编写Javabean和使用Javabean 获取修改beans的属性 beans的辅助类 JSP与bean结合的简单例子 Javabean是一种Java类,通过封装属性方法成为具有某种功能或者处理某个业务的对象,简称bean。 (一)编写Javabean和...
  • JavaBean 通过对属性方法的封装,成为具有独立功能、可重复使用并且可与其他控件通信的组件对象,具有以下优点 重用性强 模块化 可维护性、扩展性强 4.1.2 JavaBean的重要性 在一个复杂的Web应用中把特定的...
  • 什么是javaBean JavaBean就是一个普通的java类,也称之为简单java...JavaBean遵循着特定的写法,通常有以下的规则: 有无参的构造函数 成员属性私有化 封装的属性如果需要被外所操作,必须编写public类型的setter、g
  • 一.JavaBean 1.什么是JavaBean JavaBean是一个遵循特定写法的Java类,它通常具有如下特点:&gt;&gt;这个Java类必须具有一个无参的构造函数&gt;&gt;属性必须私有化&gt;&gt;私有化的属性...
  • JavaBeanJSP初学笔记

    2018-04-21 14:46:55
    1、什么是JavaBean 1.JavaBean是一个遵循特定写法的Java类,它通常具有如下特点: ---这个Java类必须具有一个无参的构造函数 ---属性必须私有化。 ---私有化的属性必须通过public类型的方法暴露给其它程序,并且方法...
  • JSP和JavaBean介绍

    2021-03-19 10:00:06
    JSP页面中,既可以像使用普通类一样实例化JavaBean类的对象,调用它的方法,还可以利用JSP技术中提供的动作元素来访问JavaBean。一个标准的JavaBean组件具有以下几个特性:(1)它是一个公开的(public)类(2)它有一个...
  • 为了能在JSP页面中集成JavaBean组件支持JavaBean的功能,JSP规范专门定义了三个JSP标签:、,它们分别用于创建查找JavaBean的实例对象,设置JavaBean对象的属性,读取JavaBean对象的属性。对于JSP页面来说,...
  • 3 4 5 6 7 主函数8 9 10 11 12 include 动作实例13 14 15 16 17 1819 输出信息20 21 22 一个标准的javaBean以下几个特性:1.javaBean是一个公共的类2.javaBean有一个不带参数的构造方法3.javaBean通过setXXX方法...
  • JSP中的JavaBean的基本使用方法

    千次阅读 2017-08-05 09:14:06
    1.JSPJavaBean的使用   在JSP中,我们可通过JSP中的、及这三个标准操作元素来使用JavaBean。这三个标准元素分别是用来使用JavaBean、设置以及取得JavaBean的属性。 1.1设置JavaBean的存放路径 要在JSP...
  • scope的可选值包括:---page(默认值)---request---session---application 1、page范围内:客户每次请求访问JSP页面时,都会创建一个JavaBean对象。JavaBean对象的有效范围是客户请求访问的当前JSP网页。JavaBean...
  • JSPJavaBean

    2018-09-12 15:47:47
    JavaBean易于维护、封装了复杂的业务逻辑、具有可移植性、可用于本地传输网络传输。 JavaBean分为两种,一种是基于用户界面的,另一种就是没有界面的,主要是封装了数据、业务处理。 Jsp使用javaBe...
  • 1. 标签 标签定位并实例化一个JavaBean。语法如下: | ...在id属性中指定的名字为指定范围内JavaBean对象的属性名,在JSP页面内声明为一个Java脚本变量。因为该值是一个脚本变量,大小写敏感...
  • JSP共享javabean

    2021-03-15 01:29:58
    JavaBean是一种可重复使用,且跨平台的软件组件。...Jsp通常访问的是后一种javaBean.Jsp和javaBean搭配使用的优点:1.使得html与java程序分离,这样便于维护代码。如果把所有的程序代码都写到jsp网页中,会使用代码...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,548
精华内容 6,619
关键字:

存在以下javabean和jsp页面

java 订阅