JAVA Web入门之JavaBean的解析及使用

简介: JAVA Web入门之JavaBean的解析及使用

1.在JSP页面开发的初级阶段 并没有框架与逻辑分层概念的产生 需要将java代码嵌入到网页中 对JSP页面的一些业务逻辑进行处理


这种开发方式看似简单 但如果将大量java代码嵌入到JSP页面中 会给后期的维护及修改带来很多问题 如果能使HTML代码和java代码相分离开来,将java代码单独封装成一个处理某种业务逻辑的类,然后在JSP页面中调用此类,则可以降低HTML代码和java代码之间的耦合度,提高程序的重用性和灵活性,这种与HTML代码相分离,而使用java代码封装的类,就是一个javabean组件


实例如下

package test;
import java.io.Serializable;
public class Email implements Serializable {
  private static final long serialVersionUID=1L;
  private String mailAdd;
  private boolean email;
public Email() {
}
public Email(String mailAdd) {
  this.mailAdd=mailAdd;
}
public boolean isEmail() {
  String regex="\\w+([-+.']*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*";
  if(mailAdd.matches(regex)) {
  email=true;
  }
  return email;
}
public String getMailAdd() {
  return mailAdd;
}
public void setMailAdd(String mailAdd) {
  this.mailAdd=mailAdd;
}
}



2:在javabean对象中 为了防止外部直接对javabean属性的调用 通常将javabean中的属性设置为私有的 但需要为其提供公共的访问方法


下面创建名称为produce的类 创建商品属性并且提供相应的方法

public class Produce{
private String name="电吉他";
private double price=1880.5;
private int count=100;
private String factoryAdd="广东省珠海市";
public String getName(){
return name;
}
public String getPrice(){
return price;
}
public int getCount(){
return count;
}
public String getFactoryAdd(){
return factoryAdd;
}
}


在JSP页面中获取商品javabean中的属性信息 该操作通过JSP动作标签进行获取

<jsp:useBean id="produce" class="com.lyq.bean.Produce"></jsp:useBean>
<div>
<ul>
<li>
商品名称<jsp:getProperty property="name" name="produce"/>
</li>
<li>
价格<jsp:getProperty property="price" name="produce"/>
</li>
<li>
数量<jsp:getProperty property="count" name="produce"/>
</li>
<li>
厂址<jsp:getProperty property="factoryAdd" name="produce"/>
</li>
</ul>
</div>


3:对javabean属性赋值


javabean对象提供setxxx方法就可以在JSP页面中通过<jsp:setProperty>对其进行赋值


创建对应的类和方法如下

package com.lyq.bean;
public class Produce{
private String name;
private dobule price;
private int conut;
private String factoryAdd;
public String getName(){
return namel;
}
public void setName(String name){
this.name=name;
}
省略了其他的getxxx和setxxx方法 大致相同
}


创建JSP文件 在该页面中实例化Produce对象 然后对其属性进行赋值并输出

<jsp:useBean id="produce" class="com.lyq.bean.Produce"></jsp:useBean>
<jsp:setProterty proterty="name" name="produce" value="洗衣机"/>
<jsp:setProterty proterty="price" name="produce" value="88.88"/>
<jsp:setProterty proterty="count" name="produce" value="88"/>
<jsp:setProterty proterty="factoryAdd" name="produce" value="华南理工大学"/>
<div>
<ul>
<li>
商品名称<jsp:getProperty property="name" name="produce"/>
</li>
<li>
价格<jsp:getProperty property="price" name="produce"/>
</li>
<li>
数量<jsp:getProperty property="count" name="produce"/>
</li>
<li>
厂址<jsp:getProperty property="factoryAdd" name="produce"/>
</li>
</ul>
</div>


在JSP页面中应用javabean非常简单 主要通过JSP动作标签<jsp:useBean> <jsp:getProperty>


<jsp:setProterty>来实现对javabean对象的操作


在javabean对象应用到JSP页面中时,javabean的生命周期可以自行进行设置 它存在于4种范围内 分别为 page ,request ,session, application 默认情况下作用于page范围内


4:解决中文乱码的JavaBean


在JSP页面中 处理中文字符经常会出现字符乱码的现象 特别是通过表单传递中文数据时容易产生 它的解决办法有很多


创建对字符编码进行处理的javabean 在该类中编写toString方法对字符编码进行转换

package.com.lyq.bean;
import java.io.UnsupportedEncodingException;
public class CharactorEncoding{
public CharactorEncoding(){
}
public String toString(String str){
String text="";
if(str!=null&&!"".equals(str)){
try{
text=new String(str.getBytes("ISO-8859-1"),"UTF-8");
}
catch (UnsupportedEncodingException e){
e.printStackTrace();
}
}
return text;
}
}


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


javabean是用java语言所写成的可重用组件 它可以是一个实体类对象 也可以是一个业务逻辑的处理  


同样javabean可以将数组转换成字符串

package con.lyq.bean;
public class Convert{
public String arr2Str(String[] arr){
String Buffer sb=new StringBuffer();
if(arr!=null&&arr.length>0){
for(String s:arr){
sb.append(s);
sb.append(",");
}
if(sb.length()>0){
sb=sb.deleteCharAt(sb.length()-1);
}
}
return sb.toString();
}
}



相关文章
|
9天前
|
存储 Oracle Java
java零基础学习者入门课程
本课程为Java零基础入门教程,涵盖环境搭建、变量、运算符、条件循环、数组及面向对象基础,每讲配示例代码与实践建议,助你循序渐进掌握核心知识,轻松迈入Java编程世界。
79 0
|
2月前
|
安全 Java API
Java Web 在线商城项目最新技术实操指南帮助开发者高效完成商城项目开发
本项目基于Spring Boot 3.2与Vue 3构建现代化在线商城,涵盖技术选型、核心功能实现、安全控制与容器化部署,助开发者掌握最新Java Web全栈开发实践。
269 1
|
2月前
|
Java
java入门代码示例
本文介绍Java入门基础,包含Hello World、变量类型、条件判断、循环及方法定义等核心语法示例,帮助初学者快速掌握Java编程基本结构与逻辑。
282 0
|
2月前
|
存储 前端开发 Java
【JAVA】Java 项目实战之 Java Web 在线商城项目开发实战指南
本文介绍基于Java Web的在线商城技术方案与实现,涵盖三层架构设计、MySQL数据库建模及核心功能开发。通过Spring MVC + MyBatis + Thymeleaf实现商品展示、购物车等模块,提供完整代码示例,助力掌握Java Web项目实战技能。(238字)
208 0
|
2月前
|
前端开发 Java 数据库连接
帮助新手快速上手的 JAVA 学习路线最详细版涵盖从入门到进阶的 JAVA 学习路线
本Java学习路线涵盖从基础语法、面向对象、异常处理到高级框架、微服务、JVM调优等内容,适合新手入门到进阶,助力掌握企业级开发技能,快速成为合格Java开发者。
365 3
|
2月前
|
Java API 数据库
2025 年最新 Java 实操学习路线,从入门到高级应用详细指南
2025年Java最新实操学习路线,涵盖从环境搭建到微服务、容器化部署的全流程实战内容,助你掌握Java 21核心特性、Spring Boot 3.2开发、云原生与微服务架构,提升企业级项目开发能力,适合从入门到高级应用的学习需求。
476 0
|
23天前
|
算法 Java Go
【GoGin】(1)上手Go Gin 基于Go语言开发的Web框架,本文介绍了各种路由的配置信息;包含各场景下请求参数的基本传入接收
gin 框架中采用的路优酷是基于httprouter做的是一个高性能的 HTTP 请求路由器,适用于 Go 语言。它的设计目标是提供高效的路由匹配和低内存占用,特别适合需要高性能和简单路由的应用场景。
131 4
|
5月前
|
缓存 JavaScript 前端开发
鸿蒙5开发宝藏案例分享---Web开发优化案例分享
本文深入解读鸿蒙官方文档中的 `ArkWeb` 性能优化技巧,从预启动进程到预渲染,涵盖预下载、预连接、预取POST等八大优化策略。通过代码示例详解如何提升Web页面加载速度,助你打造流畅的HarmonyOS应用体验。内容实用,按需选用,让H5页面快到飞起!
|
5月前
|
JavaScript 前端开发 API
鸿蒙5开发宝藏案例分享---Web加载时延优化解析
本文深入解析了鸿蒙开发中Web加载完成时延的优化技巧,结合官方案例与实际代码,助你提升性能。核心内容包括:使用DevEco Profiler和DevTools定位瓶颈、四大优化方向(资源合并、接口预取、图片懒加载、任务拆解)及高频手段总结。同时提供性能优化黄金准则,如首屏资源控制在300KB内、关键接口响应≤200ms等,帮助开发者实现丝般流畅体验。
|
前端开发 JavaScript Shell
鸿蒙5开发宝藏案例分享---Web页面内点击响应时延分析
本文为鸿蒙开发者整理了Web性能优化的实战案例解析,结合官方文档深度扩展。内容涵盖点击响应时延核心指标(≤100ms)、性能分析工具链(如DevTools时间线、ArkUI Trace抓取)以及高频优化场景,包括递归函数优化、网络请求阻塞解决方案和setTimeout滥用问题等。同时提供进阶技巧,如首帧加速、透明动画陷阱规避及Web组件初始化加速,并通过优化前后Trace对比展示成果。最后总结了快速定位问题的方法与开发建议,助力开发者提升Web应用性能。

热门文章

最新文章

推荐镜像

更多
  • DNS
  • 下一篇
    开通oss服务