本文主要参考《JavaEE企业应用实战》的例子,经过调试成功。

前言:如果多个jsp页面需要重复使用某段代码,我们可以把这段代码定义成Java类的方法,让后让多个jsp页面调用该方法即可,这样可以达到较好的代码复用。这就是JavaBean

1、编写java代码

// Person.java,注意package personal;

 1 package personal;
2
3 public class Person
4 {
5 private String name;
6 private int age;
7
8 public Person()
9 {
10 }
11
12 public Person(String paramString, int paramInt)
13 {
14 }
15
16 public String getName()
17 {
18 return this.name;
19 }
20
21 public void setName(String paramString) {
22 this.name = paramString;
23 }
24
25 public int getAge() {
26 return this.age;
27 }
28
29 public void setAge(int paramInt) {
30 this.age = paramInt;
31 }
32 }

2、编译java代码,并把class文件放入适当位置
 (2.1) javac Person.java
 (2.2)把Person.class放入 D:\Program Files (x86)\apache-tomcat-7.0.42-windows-x64\apache-tomcat-7.0.42\webapps\webDemo\WEB-INF\classes\personal  (personal 目录需要自己创建)

3、编写JSP代码
//beanTest1.jsp,注意第9行的class="personal.Person"
 1 <html>
2 <%@ page contentType="text/html; charset=GBK" language="java" isErrorPage="true" %>
3 <%@ page info="this is a jsp"%>
4 <html xmlns="http://www.w3.org/1999/xhtml">
5 <head>
6 <title> Java Bean测试 </title>
7 </head>
8 <body>
9 <jsp:useBean id="p1" class="personal.Person" scope="page"/>
10 <jsp:setProperty name="p1" property="name" value="wahaha"/>
11 <jsp:setProperty name="p1" property="age" value="27"/>
12
13 <% out.println("Hello everyone, my name and age is as below:"); %> </br>
14
15 <jsp:getProperty name="p1" property="name"/> <br/>
16 <jsp:getProperty name="p1" property="age"/>
17 </body>
18 </html>
 
4、启动tomcat,查看JSP调用javabean的效果

Hello everyone, my name and age is as below: 

wahaha 

27

注意:1-3里面的personal这个包是必须的,如果没有包会报错,找不到Person类
 

JavaBean 之Hello World(入门实例)的更多相关文章

  1. Spring入门1. IoC入门实例

    Spring入门1. IoC入门实例 Reference:Java EE轻量级解决方案——S2SH 前言: 之前学习过关于Spring的一点知识,曾经因为配置出现问题,而总是被迫放弃学习这些框架技术, ...

  2. Spring oxm入门实例

    O/XMapper是什么? Spring3.0的一个新特性是O/XMapper.O/X映射器这个概念并不新鲜,O代表Object,X代表XML.它的目的是在Java对象(几乎总是一个plainoldJ ...

  3. React 入门实例教程(转载)

    本人转载自: React 入门实例教程

  4. struts入门实例

    入门实例 1  .下载struts-2.3.16.3-all  .不摆了.看哈就会下载了. 2  . 解压  后 找到 apps 文件夹. 3.    打开后将 struts2-blank.war   ...

  5. Vue.js2.0从入门到放弃---入门实例

    最近,vue.js越来越火.在这样的大浪潮下,我也开始进入vue的学习行列中,在网上也搜了很多教程,按着教程来做,也总会出现这样那样的问题(坑啊,由于网上那些教程都是Vue.js 1.x版本的,现在用 ...

  6. JavaBean 基础概念、使用实例及代码分析

    JavaBean 基础概念.使用实例及代码分析 JavaBean的概念 JavaBean是一种可重复使用的.且跨平台的软件组件. JavaBean可分为两种:一种是有用户界面的(有UI的):另一种是没 ...

  7. wxPython中文教程入门实例

    这篇文章主要为大家分享下python编程中有关wxPython的中文教程,分享一些wxPython入门实例,有需要的朋友参考下     wxPython中文教程入门实例 wx.Window 是一个基类 ...

  8. Omnet++ 4.0 入门实例教程

    http://blog.sina.com.cn/s/blog_8a2bb17d01018npf.html 在网上找到的一个讲解omnet++的实例, 是4.0下面实现的. 我在4.2上试了试,可以用. ...

  9. Spring中IoC的入门实例

    Spring中IoC的入门实例 Spring的模块化是很强的,各个功能模块都是独立的,我们可以选择的使用.这一章先从Spring的IoC开始.所谓IoC就是一个用XML来定义生成对象的模式,我们看看如 ...

  10. Node.js入门实例程序

    在使用Node.js创建实际“Hello, World!”应用程序之前,让我们看看Node.js的应用程序的部分.Node.js应用程序由以下三个重要组成部分: 导入需要模块: 我们使用require ...

随机推荐

  1. Hugging News #0724: Llama 2 登陆 Hugging Face、AI 开源游戏竞赛获奖选手公布!

    每一周,我们的同事都会向社区的成员们发布一些关于 Hugging Face 相关的更新,包括我们的产品和平台更新.社区活动.学习资源和内容更新.开源库和模型更新等,我们将其称之为「Hugging Ne ...

  2. Libvirtd networks -- 为libvirtd 中虚拟机指定ip遇到的问题

    backgroup 为libvirtd 中虚拟机指定ip,操作如下: virsh --connect qemu:///system dumpxml vm01 | grep "mac addr ...

  3. 代码随想录算法训练营第三天| LeetCode 203.移除链表元素(同时也对整个单链表进行增删改查操作) 707.设计链表 206.反转链表

    203.移除链表元素         题目链接/文章讲解/视频讲解::https://programmercarl.com/0203.%E7%A7%BB%E9%99%A4%E9%93%BE%E8%A1 ...

  4. Vue报错: Property or method "changeLoginType" is not defined on the instance but referenced during render

    原因 我这里是因为我代码中的方法不存在,我漏写了,后补充上就好了 解决方案 在methods中添加如下代码: // 修改登录状态 changeLoginType(bool){ this.loginTy ...

  5. gitlab-runner-config-in-docker

    gitlab in docker 网上有很多现成的解决方案,本文仅作流程梳理,若不需要,可直接用gitlab官方提供的镜像 installation Dockerfile FROM registry. ...

  6. 交换分区swap的创建与管理

    前言 swap分区是linux系统中一块特殊的硬盘空间,当实际内存不够用的时候,系统会按照一定的算法将部分不用的数据放在swap分区中,从而为当前运行的程序腾出足够的内存空间.好处在于避免内存资源不足 ...

  7. 在Python中使用LooseVersion进行软件版本号比对

    技术背景 Python是一门极其热门.极其灵活的开发语言,其更新迭代的速度也非常的快速.有时候我们遇到不同的软件版本不同方法处理的情况,此时就需要用到版本号比对的工具.举一个例子说,我们要在pytho ...

  8. 【pytorch】ResNet源码解读和基于迁移学习的实战

    "工欲善其事,必先利其器",掌握ResNet网络有必要先了解其原理和源码.本文分别从原理.源码.运用三个方面出发行文,先对ResNet原理进行阐述,然后对pytorch中的源码进行 ...

  9. [ABC145F] Laminate

    2023-02-25 题目 题目传送门 翻译 翻译 难度&重要性(1~10):6 题目来源 AtCoder 题目算法 dp 解题思路 引子:积木大赛 可以发现当 \(k=1\) 时,就是积木大 ...

  10. 【LaTeX】语法(更新中)

    目录 长度 空行 空格 超链接 数学公式 段落中(隐式) 单独成段(显式) 居中,左对齐,右对齐 居中 左对齐 右对齐 参考文献配置 TODO 参考资料 中文支持参考环境配置中的 内容,在这里不做重复 ...