JavaBean实验

实验要求

1、 创建学生成绩的表单页面,并创建对应的JavaBean,在JSP页面中使用标签来设置和读取属性
2、 在多个页面间测试JavaBean的作用范围,通过实验对scope为page,request,session,application加强理解

实验过程

项目结构

标签设置和读取JavaBean属性

代码编写

编写JavaBean

package beans;

public class Student {
    private String stuno;
    private String stuname;
    private float javaweb;
    private float JavawebExperiment;

    public String getStuno(){
        return stuno;
    }
    public void setStuno(String stuno) {
        this.stuno = stuno;
    }
    public String getStuname() {
        return stuname;
    }
    public void setStuname(String stuname) {
        this.stuname = stuname;
    }
    public float getJavaweb() {
        return javaweb;
    }
    public void setJavaweb(float javaweb) {
        this.javaweb = javaweb;
    }
    public float getJavawebExperiment() {
        return JavawebExperiment;
    }
    public void setJavawebExperiment(float javawebExperiment) {
        JavawebExperiment = javawebExperiment;
    }
}

输入成绩页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>输入成绩</title>
</head>
<body>
    <form action="setuseBean.jsp">
        姓名:<input type="text" name="stuname"><br>
        学号:<input type="text" name="stuno"><br>
        输入成绩:<br>
        JavaWeb:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="javaweb"><br>
        JavaWeb实验:<input type="text" name="javawebExperiment"><br>
        <input type="submit" value="提交"><br>
    </form>
</body></html>

展示成绩页面(使用标签来设置和读取JavaBean属性页面)

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>展示成绩</title>
</head>
<body>
    <jsp:useBean id="student" class="beans.Student"></jsp:useBean>
<%--    <jsp:setProperty name="student" property="stuname" param="stuname"/>--%>
<%--    <jsp:setProperty name="student" property="stuno" param="stuno"/>--%>
<%--    <jsp:setProperty name="student" property="javaweb" param="javaweb"/>--%>
<%--    <jsp:setProperty name="student" property="javawebExperiment" param="javawebExperiment"/>--%>
    <jsp:setProperty name="student" property="*"/>
    姓名:<jsp:getProperty name="student" property="stuname"/><br>
    学号:<jsp:getProperty name="student" property="stuno"/><br>
    成绩:<br>
    JavaWeb:<jsp:getProperty name="student" property="javaweb"/><br>
    JavaWeb实验:<jsp:getProperty name="student" property="javawebExperiment"/><br>
</body>
</html>

网页效果展示

输入成绩页面

点击提交,跳转展示成绩页面(使用标签来设置和读取JavaBean属性页面)

测试JavaBean的作用范围

代码编写

page1.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>page1</title>
</head>
<body>
    <jsp:useBean id="student" class="beans.Student" scope="application"/>
    <jsp:setProperty name="student" property="stuname" value="huazi"/>
    第一个页面<br>
    学生姓名:<jsp:getProperty name="student" property="stuname"/><br>
<%--    <jsp:forward page="page2.jsp"></jsp:forward>--%>
    <a href="page2.jsp">page2</a>
</body>
</html>

page2.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>page2</title>
</head>
<body>
    <jsp:useBean id="student" class="beans.Student" scope="application"/>
    第二个页面<br>
    学生姓名:<jsp:getProperty name="student" property="stuname"/>
</body>
</html>

网页效果展示

第一个页面

当scope=“page” 时

第二个页面:由于student对象只能在page1中存活,所以page2中学生姓名为null

当scope=“request” 时

如果不通过forward方法跳转,选择使用<a>标签,或者直接在浏览器输入网址进入page2,page2中学生姓名仍为null
使用forward方法跳转到page2

当scope=“session” 时

如果不先打开page1页面,直接打开page2,page2中学生姓名仍为null,因为此时student对象还没有被存入session中。
先打开page1页面,而后使用<a>标签,或者直接在浏览器输入网址进入page2

当scope=" application" 时

先打开page1页面,再使用update classes and resources更新java,jsp和静态资源,此时操作并没有关闭服务器,但是session被清空。

直接在浏览器输入网址进入page2,依然可以访问到student对象,因为此时student对象存在application中,直到服务器关闭才会被移除

实验总结

1、IDEA中Update resources和Update classes and resources、Redeploy、Restart server的区别

  • update resources:更新静态的资源,比如html,js,css等
  • update classes and resources:更新java,jsp和静态资源( . java修改后,会被编译成.class,然后覆盖到target/kao文件夹下,IDEA调试模式的情况下,立即生效。IDEA运行模式下,不立即生效,需要redeployed才可生效。jsp修改后,再次被访问的时候,会自动更新,重新编译成java.class保存在tomcat的work目录下。由于是访问时才检测是否修改,是否需要重新编译,所以 IDEA 运行模式 和IDEA调试模式下,都是立即生效。刷新下页面就可)
  • redeployed:重新部署,发布到tomcat里,不重启tomcat,而是把原来的删掉,然后重新发布;
  • restart server:重启tomcat。

2、JavaBean的范围

  • page:表示JavaBean对象的作用范围只是在实例化其的页面上,只在当前页面可用,在别的页面中不能认识
  • request:表示JavaBean实例除了可以在当前页面上可用之外,还可以在通过forward方法跳转的目标页面中被认识到
  • session:表示JavaBean 对象可以存在session中,该对象可以被同一个用户一次会话的所有页面认识到
  • application:表示JavaBean对象可以存在application中,该对象可以被所有用户的所有页面认识到

实验项目文件

JavaBean 实验项目文件

  • 5
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
JavaBean实验资源是指在进行JavaBean实验时所使用的各种资源,包括实验所需的软件、硬件、代码和相关文档等。JavaBean是一种使用Java编程语言编写的可重用组件,它具有独立性、可定制性和可重用性等特点,可以在不同的应用程序中使用。 在进行JavaBean实验时,首先需要准备Java开发环境,如Java Development Kit(JDK),这是一种开发Java应用程序所必需的软件包,包含Java编译器、调试器和其他工具。安装和配置JDK是进行JavaBean实验的基础工作。 除了JDK,还需要Java集成开发环境(IDE),如Eclipse或IntelliJ IDEA等。这些IDE提供了丰富的功能和工具,可帮助开发人员编写、调试和管理Java程序。在实验中,IDE可以帮助快速创建JavaBean实例,进行属性设置和事件处理等操作。 在进行JavaBean实验时,还需要一些示例代码和学习资源。可以通过网络搜索或查阅相关的教材、教程和文档,了解JavaBean的基本概念、特性和用法。示例代码可以帮助理解和应用JavaBean的相关知识,可以通过编写和运行这些代码来实践和巩固所学内容。 对于高级的JavaBean实验,可能还需要一些其他的资源,如数据库、网络连接等。这些资源可以根据实验的具体需求进行准备和配置。 总之,JavaBean实验资源是指为进行JavaBean实验所需的各种资源,包括开发环境、IDE、示例代码和学习资源等。这些资源的准备和使用可以帮助开发人员更好地理解和应用JavaBean的知识和技术。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

huazi-J

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值