jsp之JavaBean入门
在Myeclipse中的Webproject下,jsp文件放在WEB-INF目录下,对应的Java文件放在src目录下,src下的类文件编译后,会自动将字节码文件放在WEB-INF/classes 目录下。
个人认为JavaBean的本质,就是在jsp页面中直接对Java类进行实例化,然后操作里面的属性和方法。
例子1:
通过类中的方法对类中的属性进行读取,修改。
Java源文件(SimpleBean.java):
package tom.jiafei;public class SimpleBean{ private String name; private int age; public void setName(String name){ this.name = name; } public void setAge(int age){ this.age = age; } public String getName(){ return this.name; } public int getAge(){ return this.age; }
}
JSP页面代码:
<%@ page contentType="text/html" pageEncoding="UTF-8"%> <html>
<head><title>bean测试</title></head>
<body> <!-- bean 通常以标签的方式来声明和使用 -->
<jsp:useBean id="simple" scope="page" class="tom.jiafei.SimpleBean"/>
<!-- 本语句用来加载使用Bean,scope为这个Bean的生命周期,即作用范围,其值有:page,session,request,application 设置Bean,相当于对该class进行了实例化,对象名为id的值girl
--><!-- bean 也可以通过直接实例化的方法来使用 -->
<%-- SimpleBean simple = new SimpleBean(); //声明并实例化SimpleBean对象 simple.setName("Joywy"); //设置name属性 simple.setAge(23); //设置age属性
--%> <% simple.setName("Smile"); simple.setAge(20);
%>
<h3>姓名:<%=simple.getName()%></h3>
<h3>年龄:<%=simple.getAge()%></h3> <!-- 通过标签对bean对象的内容进行修改和显示 -->
<jsp:setProperty name="simple" property="name" value="Blue" />名字是:<jsp:getProperty name="simple" property="name" />
<jsp:setProperty name="simple" property="age" value="22" />年龄是:<jsp:getProperty name="simple" property="age" /></body>
</html>
例子2:将jsp页面中的表单与JavaBean建立联系
Java源文件(Student.java):
package tom.jiafei;import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;public class Student {String name = null;long number;double height, weight;public String getName(){ try{ name=new String(name.getBytes("ISO-8859-1"),"UTF-8");//将页面传过来的数据进行编码转换,此处是将ISO-8859-1改为UTF-8//此句代码可根据实际情况进行调整return name;}catch(Exception e){System.out.println(e);return name;}}public void setName(String newName){name = newName;}public long getNumber(){return number;}public void setNumber(long newNumber){number = newNumber;}public double getHeight(){return height; }public void setHeight(double newHeight){height = newHeight; }public double getWeight(){return weight; }public void setWeight(double newWeight){weight = newWeight; }
}
jsp页面代码:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ page import = "tom.jiafei.*" %>
<%-- 导入自定义的类 --%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>bean 测试</title></head> <body><jsp:useBean id="zhang" class="tom.jiafei.Student" scope="page"> </jsp:useBean><br><form action="" method="post">输入姓名:<Input type="text" name="name"/><br/>输入学号:<Input type="text" name="number"/><br/>输入身高:<Input type="text" name="height"/><br/>输入体重:<Input type="text" name="weight"/><input type=submit value="提交"> </form><jsp:setProperty name="zhang" property="*" /><%-- 该标记不用再具体指定bean属性的值,将对应表单中的对应的参数值,系统会根据名字进行对应 --%><%-- <jsp:setProperty name="bean对象名" property="属性名" value="参数名" /> --%><%-- 设置bean中的属性值与表单中参数值得对应关系 --%> 名字是:<jsp:getProperty name="zhang" property="name" /><br>学号是:<jsp:getProperty name="zhang" property="number" /> <br>身高是:<jsp:getProperty name="zhang" property="height" />米<br>体重是:<jsp:getProperty name="zhang" property="weight" />公斤</body>
</html>
例子3:填写文件后缀,在指定文件夹中找出该后缀的所有文件
Java源文件(ListFile.java):
package tom.jiafei;
import java.io.*;class FileName implements FilenameFilter{ String str = null;FileName(String s){str = "." + s;} public boolean accept(File dir, String name){return name.endsWith(str);}
}
public class ListFile{String extendsName = null;StringBuffer str = new StringBuffer();public void setExtendsName(String s){extendsName = s;}public String getExtendsName(){return extendsName;}public String getAllFileName(){File dir = new File("D:/MyeclipseSpace/JSPtest/WebRoot");FileName help = new FileName(extendsName);String file_name[] = dir.list(help);for(int i=0;i<file_name.length;i++){str.append(file_name[i]+"");} return new String(str);}
}
jsp页面代码:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ page import = "tom.jiafei.ListFile" %><jsp:useBean id="file" class="tom.jiafei.ListFile" scope="page"> </jsp:useBean>
<%-- 导入自定义的类 --%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>bean 测试</title></head> <body><form action="" method="post">输入文件的扩展名:<input type=text name="extendsName"><input type=submit value="提交"></form><jsp:setProperty name="file" property="*" />当前jsp页面所在目录,扩展名是:<jsp:getProperty name="file" property="extendsName" />的文件有:<br/> <jsp:getProperty name="file" property="allFileName" /><!--该语句会执行与其对应的方法 getallFileName();其实该标签的本质,都是执行的类中的方法 --></body>
</html>
jsp之JavaBean入门相关推荐
- JSP WEB开发入门基础到高手进阶教程002
JSP WEB开发入门基础到高手进阶教程 -------开发入门 JSP与微软的Active Server Pages 兼容,但它是使用类似HTML的卷标以及Java程序代码段而不是VBScript. ...
- java web编写计算器_javaWeb 使用 jsp 和 javaBean 实现计算器功能
jsp 和 javaBean 实现计算器功能 try { calculator.calculate(); } catch (Exception e) { out.write(e.getMessage( ...
- Jsp+Servlet+JavaBean经典MVC模式理解
MVC模式目的(实现Web系统的职能分工). 在Java EE中,Jsp+Servlet+JavaBean算是里面经典的模式,是初学者必备的知识技能.M, Model(模型)实现系统的业务逻辑 1.通 ...
- JSP,Servlet,JavaBean在WEB应用的角色
JSP,Servlet以及JavaBean在编写WEB应用的时候,分别担当什么角色? 可以说你这的这种想法可以理解为典型的MVC控制模式. jsp 来显示数据,____view; ...
- JavaWeb开发模式:C/S模式,B/S模式,JSP+JavaBean模式,JSP+Servlet+JavaBean模式
JavaWeb开发模式 1.C/S开发模式 1.C/S架构:客户端Client/服务端Server: a.出现较早,主要应用于局域网内: b.胖客户端:需要特定软件支持(安装客户端) 逻辑关系图如下: ...
- Java+MyEclipse+Tomcat (一)配置过程及jsp网站开发入门
这些年免费帮同学或同学的朋友做过的毕设还是有一些了,我的博客基本都是基于我做过的项目相关的,而里面又有三分之一都是自己做的毕设或别人的毕设的做后感.毕设其中就包括MFC图像处理..Net安全软件.C# ...
- 【JSP】JSP与JavaBean的关系
JavaBean是一种特殊的Java类,以封装和重用为目的,在类的设计上遵从一定的规范,以供其它组件根据这种规范来调用. JavaBean最大的优势在于重用,同时它又具有以下特性: 易于维护.使用.编 ...
- 基于jsp servlet javabean的学生管理系统
日期:2019/10/24 该学生管理系统基于jsp+servlet+javabean,使用MVC模式,是一个很基础的学生管理系统,由于这是本学期的课程大作业,所以现在还没有完全写完,这篇博文会根据进 ...
- JSP 和 JavaBean 来实现一个简易计算器
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.代码 1.calculater.jsp 2.Calculater.java 总结 前言 使用 JSP 和 Java ...
最新文章
- 「架构技术专题」如何构建网站高可用架构(详细分析篇)?(6)
- EditText的各种属性
- 【转】data和attr的用法与区别
- oracle 10g SQL* Plus主机字符串
- linux怎么初始命令,linux 第二季 初始linux 目录以及初始命令
- 【逆向工具】使用x64dbg+spy去除WinRAR5.40(64位)广告弹框
- 容器技术Docker K8s 47 服务网格(ASM)-阿里云服务网络概述
- R语言安装包下载和安装
- LM2903器件使用说明
- You should consider upgrading via the
- python怎么暂停运行_如何让python程序暂停?
- php获取服务器操作系统等信息
- Android cer转bks
- @hapi/joi 报错 “message“: “Cannot mix different versions of joi schemas“
- 头条校招(今日头条2017秋招真题)1——python解法
- LInux下Mplayer字幕乱码,日文字体部分乱码解决方案
- 智能家居开源生态—正确的HTTP API 接口规范以及设备类插件实现
- 真格基金、腾讯为什么都看好这家人工智能初创公司?
- mysql实现layui分页_LayUI
- 【访问控制-安全标记】自主访问控制和强制访问控制
热门文章
- Zero date value prohibited解决方法
- MySQL—InnoDB数据页结构
- 现代极简高级设计——带你走进都市精英的家
- 计算机网络复习题(带答案)
- Unity3D使用Timeline实现过场动画
- OO ALV如何隐藏标准的工具栏
- 为什么要做黑盒测试?黑盒测试有什么作用?
- Python timeit 模块详解(准确测量小段代码的执行时间)
- 身为插画师,一定要拥有这150款饭太稀干介质插画笔刷
- mate30pro支不支持鸿蒙系统,华为mate30Pro:鸿蒙系统+麒麟985+5G,如果上市了你会支持吗?...