zoukankan      html  css  js  c++  java
  • [Java] JSP笔记

    一、 Java Bean 是什么?

    Java Bean 其实就是一个符合特定规则的 Java Class。这些规则包括:

    • 使用 public 声明的公用类
    • 属性使用public 的get,set方法访问,也就是说设置成private,同时get,set方法与属性名的大小也需要对应。例如属性name,get方法就要写成,public String getName(){},N大写。
    • 提供默认构造方法(无参数)
    • 需要序列化。这个是框架,工具跨平台反映状态必须的

    二、Java Bean 示例

    下面这个类就是一个简单的附合Java Bean规则的类:

    package com.po;
    
    /** 用户类 */
    public class Users {
        
        public Users() {}
        
        private String user;
        private String pwd;
        
        public String getUser() {
            return user;
        }
        public void setUser(String user) {
            this.user = user;
        }
        public String getPwd() {
            return pwd;
        }
        public void setPwd(String pwd) {
            this.pwd = pwd;
        }
        
    }


    三、 Java Bean 的简单使用

    假设我们有一个表单页面 login.jsp :

    <%@ page language="java" contentType="text/html; charset=UTF-8" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    <form id="loginForm" method="post" action="javabean_1.jsp">
    用户名: <input type="text" name="user" value="" /><br><br>
    密码: <input type="password" name="pwd" value="" /><br><br>
    <input type="submit" value="提交" /><br><br>
    </form>
    </body>
    </html>

    运行效果如下:

    我们填上用户名和密码,点击提交按钮,就会将数据发送到我们指定的 javabean_1.jsp 中。

    在不使用 JavaBean的时候,我们可能会这样写:

    <%@ page language="java" contentType="text/html; charset=utf-8" %>
    <%@ page import="com.po.*" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>JavaBeans Demo</title>
    </head>
    <body>
    
    <%
        Users user = new Users();
        user.setUser(request.getParameter("user"));
        user.setPwd(request.getParameter("pwd"));
    %>
    <h1>使用普通方式创建JavaBean实例</h1><hr>
    用户名:<%=user.getUser() %><br>
    密码:<%=user.getPwd() %><br>
    </body>
    </html>

    在上面的代码中,我们会自己去实例化一个Users类,然后通过request.getparameter去读取提交的数据。

    现在,换成 Java Bean 的写法:

    <%@ page language="java" contentType="text/html; charset=utf-8" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>JavaBeans Demo</title>
    </head>
    <body>
    
    <jsp:useBean id="mUsers" class="com.po.Users" scope="page" />
    
    <!-- 根据表单自动匹配所有元素 -->
    <jsp:setProperty name="mUsers" property="*" />
    
    <!-- 根据表单自动匹配指定元素 -->
    <%--
    <jsp:setProperty name="mUsers" property="user" />
    --%>
    <!-- 和表单无关,自定义属性值 -->
    <%-- 
    <jsp:setProperty name="mUsers" property="user" value="admin" />
    --%>
    <!-- 通过URL传递的参数来赋值 -->
    <%-- 
    <jsp:setProperty name="mUsers" property="email" param="email" />
    --%>
    
    <h1>使用UseBean动作创建JavaBean实例</h1><hr>
     
    <!-- 使用getProperty方式获取用户名密码 -->
    用户名:<jsp:getProperty name="mUsers" property="user" /><br>
    密码:<jsp:getProperty name="mUsers" property="pwd" /><br>
    </body>
    </html>

    上面的代码写出了 setProperty 几种常用的用法。

    显示的时候,可以使用 getProperty 动作获取数据。

    JavaBean 还支持很多的功能,setProperty和getProperty是最常用的。

    四、 Java Bean 的作用范围

    以下内容来自百度知道:
     
    JavaBean 的范围 Scope 是一个具有生命时间的变量。JavaBean的范围在<jsp:useBean scope=”….>标志中右边进行表示。将产生一个JavaBean的快捷参考。
    说明:jsp服务器引擎将剥离<jsp。。。。标记。并且在最终用户的浏览器上无法显示实际代码。
    存在下面四种范围: 页面page、 请求request、 对话session、 应用application。

    对话范围

    对话范围的JavaBean 主要应用于跨多个页面和时间段: 例如填充 用户信息。 添加信息并且接受回馈,保存用户最.近执行页面的轨迹。对话范围JavaBean保留一些和用户对话 ID 相关的信息。这些信息来自临时的对话cookie,并在当用户关闭浏览器时,这个cookie将从客户端和服务器删除。

    请求范围

    页面和请求范围的JavaBean有时类似表单的bean , 这是因为 他们大都用于处理表单。表单需要很长的时间来处理用户的输入,通常情况下用于页面接受HTTP/POST或者GET请求。另外页面和请求范围的bean可 以用于减少大型站点服务器上的负载,如果使用对话bean,耽搁的处理就可能会消耗掉很多资源。

    应用范围

    应用范围通常应用于服务器的部件,例如 JDBC连接池、应用监视、用户计数和其他参与用户行为的类。
    在Bean中限制HTML的产生:
    理论上,JavaBean 将不会产生任何HTML,因为这是jsp层负责的工作;然而,为动态消息提供一些预先准备的格式是非常有用的。产生的HTML将被标注的 JavaBean方法返回。
     
  • 相关阅读:
    Makefile的介绍与使用(一)
    关于OpenWRT第一次编译时出现的一些问题
    ssh连接时出现 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! 解决办法
    ArcGIS 添加存WKT字符串的字段
    已连接的 RDBMS 实例未针对 Esri 空间类型配置进行相应设置
    ArcGIS10.2 安装好后,数据库连接的配置
    用Excel将中文转成大驼峰拼音
    将 Python 项目的所有py文件编译成.pyc
    地图要素增删改服务WFS: Openlayer+GeoServer+GeoPackage
    ArcGIS 和 QGIS 经常崩溃闪退的原因
  • 原文地址:https://www.cnblogs.com/yangyxd/p/5623427.html
Copyright © 2011-2022 走看看