JAVA Web学习(10)___第7章 JavaBean 技术

第7章 JavaBean 技术

7.1 JavaBean 介绍

7.1.1 JavaBean概述

JavaBean 是特殊的 Java 类,使用 Java 语言书写,并且遵守 JavaBean API 规范。
接下来给出的是 JavaBean 与其它 Java 类相比而言独一无二的特征:
提供一个默认的无参构造函数。
需要被序列化并且实现了 Serializable 接口。可能有一系列可读写属性。可能有一系列的 getter 或 setter 方法。

7.1.2 JavaBean种类

7.2 JavaBean应用

7.2.1 获取JavaBean属性信息

7.2.2 对JavaBean属性赋值

7.2.3 如何在JSP页面应用JavaBean

示例代码
StudentsBean.java

public class StudentsBean implements Serializable{
     private String firstName = null;
       private String lastName = null;
       private int age = 0;
    public String getFirstName() {
        return firstName;
    }
    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }
    ... //省略部分setXXX()和getXXX()方法


}


java_bean.JSP

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://"
            + request.getServerName() + ":" + request.getServerPort()
            + path + "/";
%>






get 和 set 属性实例





    
    
        
        
        


    
    
    

学生名字:

学生姓氏:

年纪:

7.3 在JSP中应用JavaBean

7.3.1 解决中文乱码的JavaBean

新增一个类,使用代码转换

public class CharactorEncoding{
    public CharactorEncoding(){}
public String toString(String str){
    String text="";
    if(str!=null&&!str.equals("")){
    try{
     text=new String(str.getBytes("ISO-8859-1"),"utf-8");
    }catch(Exception e){
    }
    }
    return text;
}   
}

在jsp页面中调用,关键代码



    
    
<%=encoding.toString(students.getFirstName())%>

7.3.2 在jsp页面中用来显示时间的 JavaBean

  • DateBean.java
package com.hwp.bean;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;


public class DateBean {
    private String dateTime;
    private String week;
    Calendar calendar=Calendar.getInstance();
    public String getDateTime() {
        Date time = Calendar.getInstance().getTime();
        SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        dateTime=simpleDateFormat.format(time);
        return dateTime;
    }
    public void setDateTime(String dateTime) {
        this.dateTime = dateTime;
    }
    public String getWeek() {
        String weeks []={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
        int index=calendar.get(Calendar.DAY_OF_WEEK);
        week=weeks[index-1];
        return week;
    }
    public void setWeek(String week) {
        this.week = week;
    }
    
    
}

  • get_date.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>



  
    
    
    My JSP 'get_date.jsp' starting page
    
    

  
  
  
   
   

因为 DateBean并不涉及更多的业务逻辑,所有实例作用域设置为 application,即scope="application",只实例化一次 DateBean,不需要每次都实例化

为了时钟走动效果,在标签内加入代码 ,这样每隔一秒就刷新一次

7.3.3 数组转换字符串

示例代码

  • Paper.java
package com.hwp.bean;

import java.io.Serializable;

public class Paper implements Serializable{
    private String [] languages;
    private String [] technics;
    private String [] parts;
    public String[] getLanguages() {
        return languages;
    }
    public void setLanguages(String[] languages) {
        this.languages = languages;
    }
    public String[] getTechnics() {
        return technics;
    }
    public void setTechnics(String[] technics) {
        this.technics = technics;
    }
    public String[] getParts() {
        return parts;
    }
    public void setParts(String[] parts) {
        this.parts = parts;
    }
    
    

}
  • arr2str.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>



  
    
    
    表单选择
    


  
  
  
   
调查问卷表单
  • 你经常使用的开发语言?
  • JAVA C++ PHP
  • 你目前掌握的技术?
  • JAVA C++ PHP
  • 你认为最难的?
  • ANDROID KOTLIN JAVA
  • arr2str_result.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>



  
    
    
    My JSP 'arr2str_result.jsp' starting page
    
    
  
  
  
   
   
   
   
调查结果
  • 你经常使用的开发语言 <%=conver.arr2str(paper.getLanguages()) %>
  • 你目前掌握的技术 <%=conver.arr2str(paper.getTechnics()) %>
  • 你认为最难的<%=conver.arr2str(paper.getParts()) %>
微信截图_20190817155459.png
微信截图_20190817155515.png

你可能感兴趣的:(JAVA Web学习(10)___第7章 JavaBean 技术)