javaweb (三)——javabean

2023-11-08

在这里插入图片描述

1.1 javabean简介

为什么要引入javabean
JavaBean 是一种 Java 类,它遵循特定的命名约定并实现特定接口和规范。使用 JavaBean 可以将数据封装成对象,这样可以方便地进行操作和管理。引入 JavaBean 的主要目的是为了提高 Java 代码的可维护性和可重用性。

JavaBean 具有以下几个优点:

  1. 封装性:将数据封装在对象内,只暴露必要的属性和方法,屏蔽内部实现细节,提高安全性。

  2. 可重用性:JavaBean 可以被其他程序调用,使得代码具有更好的可重用性,减少了代码的冗余。

  3. 可扩展性:JavaBean 支持继承和多态特性,可以方便地扩展和修改代码,使得代码更加灵活和易于维护。

  4. 规范性:JavaBean 遵循一定的规范,使得代码结构清晰、易读易懂,并且符合 Java 编程的惯例和标准。

  5. 工具支持:JavaBean 可以被各种开发工具支持,如 Eclipse、NetBeans 等,方便编写和调试代码。

因此,引入 JavaBean 可以帮助开发人员更好地组织和管理代码,提高代码的可维护性和可重用性。

javabean的种类
JavaBean是指一种符合特定规范的Java类,它可以用于描述一个可重用的组件。不同类型的JavaBean可以根据其作用和实现方式进行分类,下面是几种常见的JavaBean分类:

1.实体类Bean(Entity Bean):主要用于封装持久化数据的JavaBean。

2.会话Bean(Session Bean):主要用于支持应用程序的业务逻辑处理。

3.消息驱动Bean(Message-Driven Bean):主要用于在分布式系统中处理异步消息。

4.工具类Bean(Utility Bean):主要包含各种工具方法,如日期处理、字符串处理等。

5.显示类Bean(GUI Bean):主要用于实现用户界面组件,如文本框、按钮等。

6.事件类Bean(Event Bean):主要用于封装事件信息,如鼠标点击事件、键盘事件等。

7.配置类Bean(Configuration Bean):主要用于存储应用程序的配置信息,如数据库连接信息、邮件服务器信息等。

8.验证类Bean(Validation Bean):主要用于验证表单输入数据的合法性,如身份证号码、电话号码等。

javabean的设计要求
JavaBean 是一种遵循特定规则的 Java 类,用于构建可重用的组件。它们通常用于表示业务对象,如用户、订单、产品等。

以下是 JavaBean 的设计要求:

  1. 必须提供一个默认的公共构造函数,不带参数,并且没有返回值。

  2. 所有属性必须是私有的,并且必须使用公共 getter 和 setter 方法来访问和修改属性的值。

  3. 属性名必须遵循标准的命名规范,例如:属性 foo 的 getter 方法应该命名为 getFoo(),setter 方法应该命名为 setFoo()。

  4. 应该实现 java.io.Serializable 接口,以允许 JavaBean 实例在网络上进行传输或存储到文件中。

  5. 如果需要,可以提供自定义的序列化和反序列化方法,以便对属性进行更精细的控制。

请注意,这些规则并非硬性要求,您可以根据需要选择性地遵循它们。但是,如果您的类符合这些规则,您将能够利用诸如 IDE 自动生成代码、JavaBean 之间的互操作性等工具和功能。

开发第一个javabean
下面是一个简单的 JavaBean 的示例代码:


public class Person implements Serializable {



  private String name;

  private int age;

  private String gender;



  public Person() {

    // 默认构造函数

  }



  public String getName() {

    return name;

  }



  public void setName(String name) {

    this.name = name;

  }



  public int getAge() {

    return age;

  }



  public void setAge(int age) {

    this.age = age;

  }



  public String getGender() {

    return gender;

  }



  public void setGender(String gender) {

    this.gender = gender;

  }



}

这个 JavaBean 表示一个人的基本信息,包括姓名、年龄和性别。它遵循了上面提到的 JavaBean 设计要求,具有默认构造函数、私有属性和公共 getter/setter 方法,并实现了 Serializable 接口。

使用这个 JavaBean 非常简单,您可以创建一个新的 Person 实例并访问其属性:


Person person = new Person();

person.setName("John");

person.setAge(30);

person.setGender("Male");



System.out.println(person.getName()); // 输出 "John"

System.out.println(person.getAge()); // 输出 "30"

System.out.println(person.getGender()); // 输出 "Male"

当然,这只是一个非常简单的示例,实际的 JavaBean 可以更复杂,具有更多的属性和方法。

1.2 javabean应用

如何在jsp中使用javabean

  1. 使用jsp的page指令的import属性导入javabean

可以使用JSP页面指令的import属性导入JavaBean类。通过在 JSP 页面中使用 import 指令,可以将 JavaBean 类添加到 JSP 页面的作用域中,以便在 JSP 页面中访问它们的属性和方法。

下面是一个示例:


<%@ page import="com.example.MyBean" %>



<html>

<head>

  <title>My JSP Page</title>

</head>

<body>

  <%-- 创建一个 MyBean 实例 --%>

  <%

    MyBean myBean = new MyBean();

    myBean.setName("John");

    myBean.setAge(30);

  %>



  <%-- 输出 MyBean 的属性值 --%>

  <p>Name: <%= myBean.getName() %></p>

  <p>Age: <%= myBean.getAge() %></p>

</body>

</html>

在上面的示例中,我们通过在 JSP 页面的顶部使用 import 指令,将 MyBean 类导入到 JSP 页面中。然后,在 JSP 页面中创建了一个 MyBean 实例,并设置了它的属性值。最后,通过在 JSP 页面中使用 <%= ... %> 语法,输出了该实例的属性值。

请注意,如果您使用的是 MVC 模式,通常不会直接在 JSP 页面中创建 JavaBean 实例。而是在 Controller 中创建 JavaBean 实例,并将其添加到请求的属性中,然后在 JSP 页面中使用 EL 表达式获取这些属性值。

  1. 使用jsp提供的jsp:userbean动作标识完成操作

jsp:useBean动作标记用于实例化JavaBean对象,并将其绑定到指定的范围,如request、session或application。下面是一个简单的示例:


<jsp:useBean id="user" class="com.example.User" scope="session"/>

在此示例中,我们创建了一个名为“user”的JavaBean对象,并将其绑定到会话范围。如果当前会话中不存在名为“user”的对象,则该标记将自动调用类的默认构造函数来创建新对象。如果范围中已经存在具有相同名称的对象,则该对象将被重用。

可以使用jsp:setProperty和jsp:getProperty标记来访问JavaBean对象的属性值。例如,在上面的示例中,我们可以通过以下方式设置和获取User对象的属性值:


<jsp:setProperty name="user" property="name" value="John"/>

<jsp:getProperty name="user" property="name"/>

在此示例中,我们将User对象的“name”属性设置为“John”,然后使用jsp:getProperty标记获取该属性的值。

jsp:userbean的语法格式
<jsp:userbean> 是 JSP 标签库中的标签之一,用于在 JSP 页面中声明一个 JavaBean 对象以便在页面中访问该对象的属性和方法。其语法格式如下:


<jsp:useBean id="beanInstanceName" class="fully.qualified.class.name" scope="page|request|session|application" />

其中,参数含义如下:

  • id: 声明的 JavaBean 对象的实例名称。

  • class: 声明的 JavaBean 对象的全限定类名。

  • scope: 声明的 JavaBean 对象的作用域,可选值为 pagerequestsessionapplication

例如,以下代码在 JSP 页面中声明了一个名为 user 的 JavaBean 对象,并将其作用域设为 session


<jsp:useBean id="user" class="com.example.User" scope="session" />

此时,在 JSP 页面的其他部分就可以使用 EL 表达式或 JSP 脚本片段来访问 user 对象的属性和方法了。例如:


<!-- 使用 EL 表达式输出 user 对象的属性值 -->

${user.username}



<!-- 在 JSP 脚本片段中调用 user 对象的方法 -->

<%

    user.login();

%>

1.2.1 javabean与表单

JavaBean是一种特殊的Java类,它遵循了特定的编程规范,包括必须有一个无参构造函数、所有属性必须是私有的并提供公共的getter和setter方法等。JavaBean在开发Web应用中经常被用来表示持久化数据或业务对象。

表单则是Web应用中常见的一种用户交互界面,它通常包含一些输入控件如文本框、下拉框、单选按钮等,用于接收用户输入的数据。这些输入控件的数据通常需要被提交到服务器端进行处理和存储。

当JavaBean和表单结合使用时,JavaBean通常被用来表示表单数据的模型,并通过相应的Getter和Setter方法将表单数据与JavaBean属性进行映射。这样做的好处是可以简化表单数据的处理和验证过程,并提高代码可读性和可维护性。

具体而言,实现表单与JavaBean数据之间的映射可以采用以下三种方式:

  1. 手动映射:即手动编写代码将表单数据赋值给JavaBean属性,或从JavaBean属性中获取数据并展示到表单中。

  2. 使用第三方框架:如Apache Struts、Spring MVC等框架都提供了表单数据绑定的机制,可以自动将表单数据与JavaBean属性进行映射。

  3. 基于注解的映射:可以通过在JavaBean属性上添加特定的注解来实现表单数据与JavaBean属性之间的映射。常见的注解包括@ModelAttribute、@RequestParam等。

总之,通过JavaBean和表单的结合使用,我们可以使Web应用中的表单数据处理更加方便、高效和可维护。

1.2.2 设置属性:jsp:setProperty

jsp:setProperty 标签用于设置 JavaBean 对象的属性值。JavaBean 是一个符合一定规范的 Java 类,它的属性可以通过 get/set 方法来访问和修改。使用 jsp:setProperty 标签可以在 JSP 页面中方便地对 JavaBean 的属性进行赋值。

jsp:setProperty 标签有以下语法:


<jsp:setProperty name="beanName" property="propertyName" value="propertyValue"/>

其中,

  • name 属性指定了要设置属性的 JavaBean 的名称或 ID。

  • property 属性指定了要设置的 JavaBean 属性名。

  • value 属性指定了要设置的属性值。

也可以用 <jsp:getProperty> 标签来获取 JavaBean 的属性值。

例如,假设有如下的 JavaBean 类定义:


public class User {

    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 name;

    }

    

    public int getAge() {

        return age;

    }

}

在 JSP 页面中,可以这样使用 jsp:setProperty 标签来设置该 JavaBean 的属性值:


<jsp:useBean id="user" class="User"/>



<jsp:setProperty name="user" property="name" value="张三"/>

<jsp:setProperty name="user" property="age" value="20"/>



姓名:<jsp:getProperty name="user" property="name"/><br/>

年龄:<jsp:getProperty name="user" property="age"/><br/>

上面的 JSP 页面代码中,首先使用 jsp:useBean 标签创建了一个 ID 为 “user” 的 JavaBean 对象,然后使用 jsp:setProperty 标签分别设置了该对象的 name 和 age 属性。最后使用 jsp:getProperty 标签获取了该对象的属性值并在页面上输出。

1.2.3 取得属性:jsp:getProperty

jsp:getProperty 标签用于获取 JavaBean 对象的属性值。JavaBean 是一个符合一定规范的 Java 类,它的属性可以通过 get/set 方法来访问和修改。使用 jsp:getProperty 标签可以在 JSP 页面中方便地获取 JavaBean 的属性值并在页面上输出。

jsp:getProperty 标签有以下语法:


<jsp:getProperty name="beanName" property="propertyName"/>

其中,

  • name 属性指定了要获取属性值的 JavaBean 的名称或 ID。

  • property 属性指定了要获取的 JavaBean 属性名。

也可以用 <jsp:setProperty> 标签来设置 JavaBean 的属性值。

例如,假设有如下的 JavaBean 类定义:


public class User {

    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 name;

    }

    

    public int getAge() {

        return age;

    }

}

在 JSP 页面中,可以这样使用 jsp:getProperty 标签来获取该 JavaBean 的属性值:


<jsp:useBean id="user" class="User"/>



姓名:<jsp:getProperty name="user" property="name"/><br/>

年龄:<jsp:getProperty name="user" property="age"/><br/>

上面的 JSP 页面代码中,首先使用 jsp:useBean 标签创建了一个 ID 为 “user” 的 JavaBean 对象,然后使用 jsp:getProperty 标签分别获取了该对象的 name 和 age 属性值并在页面上输出。

1.3 dao设计模式

DAO(Data Access Object)是一种设计模式,它将数据访问逻辑从业务逻辑中分离出来,以达到解耦的目的。

DAO 模式通常包含以下组成部分:

  1. DAO 接口:定义了数据访问对象的方法。

  2. DAO 实现类:实现了 DAO 接口中定义的方法。

  3. 数据库访问类:负责和数据库进行交互,提供增删改查等基本操作。

使用 DAO 模式的好处在于,可以使业务逻辑和数据访问逻辑分别独立开来,降低了彼此之间的耦合。这样,当需要修改数据访问逻辑时,不会影响到业务逻辑;同样,当需要修改业务逻辑时,也不会影响到数据访问逻辑。

下面是一个简单的 DAO 示例:


// DAO 接口

public interface UserDao {

    // 增加用户

    void addUser(User user);

    

    // 删除用户

    void deleteUser(int userId);

    

    // 更新用户

    void updateUser(User user);

    

    // 获取用户列表

    List<User> getUserList();

}



// DAO 实现类

public class UserDaoImpl implements UserDao {

    // 数据库访问类

    private JdbcTemplate jdbcTemplate;

    

    public void setDataSource(DataSource dataSource) {

        this.jdbcTemplate = new JdbcTemplate(dataSource);

    }

    

    @Override

    public void addUser(User user) {

        String sql = "INSERT INTO user(name, age) VALUES (?, ?)";

        jdbcTemplate.update(sql, user.getName(), user.getAge());

    }

    

    @Override

    public void deleteUser(int userId) {

        String sql = "DELETE FROM user WHERE id = ?";

        jdbcTemplate.update(sql, userId);

    }

    

    @Override

    public void updateUser(User user) {

        String sql = "UPDATE user SET name = ?, age = ? WHERE id = ?";

        jdbcTemplate.update(sql, user.getName(), user.getAge(), user.getId());

    }

    

    @Override

    public List<User> getUserList() {

        String sql = "SELECT * FROM user";

        return jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(User.class));

    }

}



// 数据库访问类

public class DataSource {

    // 省略数据库连接等相关的代码



    public Connection getConnection() {

        // 获取数据库连接

        // ...

        return connection;

    }

}

在上面的例子中,我们定义了一个 UserDao 接口,然后实现了它的方法。在 UserDaoImpl 类中,我们使用 JdbcTemplate 类来操作数据库。JdbcTemplate 是 Spring 框架提供的一个简化 JDBC 开发的工具类,它封装了 JDBC 操作中的一些常用方法,使得我们可以更方便地进行数据库操作。

同时,我们还需要一个 DataSource 类来获取数据库连接,这里只是给出了一个简化版的实现,实际情况下可能会更为复杂。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

javaweb (三)——javabean 的相关文章

  • 在java Swing中创建带有递增和递减按钮的数字文本框

    如何在 java swing 中创建一个数字文本框 它有两个按钮 向上和向下 分别递增和递减文本框中的值 此文本框也必须可编辑仅数字值 像这样的东西 我尝试在文本框附近放置两个按钮 然后在单击按钮时手动执行操作 有没有其他方法可以更好地做到
  • 在 Java 中跨平台地播种随机生成器,无需时间

    我几乎同时在两个线程上初始化两个随机数生成器 并且我希望这两个生成器的行为完全不同 我会打电话Random nextInt 7 经常一个接一个地在两台发电机上运行 使用System currentTimeMillis 这不是一个好主意 因为
  • 如何安装 C++ 的 VOCE?

    我正在尝试安装 VOCE api 它是为 C 和 Java 构建的语音识别 API 这是我第二次使用外部 C 库 也是第一次使用 Java C api 语音链接 http voce sourceforge net http voce sou
  • Infinispan 复制缓存不复制对象以供读取

    我们正在尝试在 Openshift 内的 Wildfly 11 上运行的两个 infinispan 节点上安装复制缓存 当我们在一个节点上写入一个对象时 它不会显示在另一节点上进行读取 启动时 节点在集群中连接 并且可以看到彼此 如日志中所
  • 如何限制用户键入时 JTextPane 中的字符数 (Java)

    我需要不允许在输入 X 后输入任何字符 我需要在输入 X 个字符后发出蜂鸣声 我知道如何在用户按 Enter 键后执行此操作 但我需要在用户按 Enter 键之前执行此操作 我从 Oracle 站点找到的方法是将 DocumentSizeF
  • Android - 内容值覆盖现有行

    我正在尝试使用插入值ContentValues 我已将 5 个值插入到 5 列中 运行应用程序后 我只有最后一组值的行ContentValues 前四组未插入 ContentValues cv new ContentValues cv pu
  • 为什么Java HashMap的最大容量是1<<30而不是1<<31?

    Why is the maximum capacity of a Java HashMap 1 lt lt 30 and not 1 lt lt 31 even though the max value of an int is 231 1
  • 寻找 WebElements,最佳实践

    在我们当前的自动化 使用 Selenium WebDriver Java 中 我们使用 FindBy very广泛地 例如 FindBy css a name bcrumb protected List
  • 如何在JUnit测试中将MockWebServer端口设置为WebClient?

    我在用着spring boot with WebClient 它被自动装配为一个 bean 问题 写一个junit集成测试 我必须使用okhttpMockWebServer 该模拟始终在随机端口上启动 例如localhost 14321 N
  • splitByWholeSeparatorPreserveAllTokens 和 split 之间的区别

    有什么区别StringUtils splitByWholeSeparatorPreserveAllTokens and String split With splitByWholeSeparatorPreserveAllTokens 我们可
  • java“类文件包含错误的类”错误

    我正在尝试制作一个控制台应用程序来测试我的网络服务 我成功部署了一个网络服务http localhost 8080 WS myWS http localhost 8080 WS myWS我用 wsimport 制作了代理类 wsimport
  • 如何使用 JAVA 和 ADB 命令检查 Appium 中键盘是否打开

    我正在尝试检查 Android 默认键盘是否打开 我没有找到任何可以在 Appium 中使用 JAVA 和 ADB 命令检查键盘的内容 我发现这个 ADB 命令可以检查键盘是否打开 adb shell dumpsys input metho
  • MAC OS 的 java.awt.Robot 类中出现无头环境错误

    我正在尝试使用 JavaFX 应用程序捕获屏幕截图Robot class 这是我在我的应用程序中使用的代码 Rectangle screenBounds new Rectangle Screen getPrimary getBounds g
  • Java中通过FTP创建文件夹层次结构

    Java 是否有现成的功能可以在远程 FTP 服务器上创建文件夹层次结构 Apache Commons 确实提供了 FTP 客户端 但我找不到创建目录层次结构的方法 它确实允许创建单个目录 makeDirectory 但创建整个路径似乎并不
  • 在Java程序中计算zip文件的md5哈希值

    我有一个 zip 文件 在我的 Java 代码中我想计算 zip 文件的 md5 哈希值 有没有我可以用于此目的的 java 库 一些例子将非常感激 谢谢 几周前我通过这篇文章做到了这一点 http www javalobby org ja
  • 如何强制初始化 Hibernate JPA 代理以在 JSON 调用中使用它

    我有一个 Spring 3 JPA 2 0 应用程序 在我的 Controller我需要一个初始化的对象 但我有代理 我需要能够以编程方式初始化它 我需要类似的功能org hibernate Hibernate initialize Obj
  • Web服务连接超时和请求超时之间的区别

    WebClientTestService service new WebClientTestService int connectionTimeOutInMs 5000 Map
  • JTable中动态加载大量数据

    这是我的问题 我目前有一个 JTable 其中包含 5 000 到超过 200 000 行 你知道我要说什么了 数据已经加载到内存中了 这不是问题 但是如何 我可以创建一个高效的 JTable 以便它只加载以下行 是可见的 并且任何事件仅作
  • servlet 如何获取 servlet 之外的文件的绝对路径?

    我们一直在使用 System getProperties user dir 来获取属性文件的位置 现在它已经部署在 Tomcat 上 通过 servlet 系统调用将位置指定为 tomcat 而不是属性文件所在的位置 我们如何动态调用属性文
  • 如何在jpa中共享EntityManagerFactory

    我是 jpa 的新手 这是场景 我正在开发一个 Web 应用程序 其中 多个用户可以登录 当 user1 注销时 我正在使用下面的代码 public static void closeEntityManagerFactory if enti

随机推荐

  • pandas异常值检测与处理

    关注公众号FF工作室 回复pandas异常值检测与处理 获取数据 1 异常值检测 1 1 标准差法 outlier gt x n 或outlier
  • 如何让移动硬盘在Mac和Windows上通用使用

    刚入手了一块新的移动硬盘 Mac电脑插上却发现一片空白无法使用 这是什么情况呢 原来一般一块新的大容量移动硬盘刚入手时 默认是NTFS格式 这是Windows的一种特有硬盘格式 但是Mac上只能读取不能写入 Mac和Windows上通用的格
  • Python 基础知识8 循环

    循环语句关键知识 while flag True num 0 while flag and num lt 9 print meng num 1 死循环 while True print ling range 函数 for i in rang
  • R语言填坑

    最近在做一个数据挖掘的算法 用到了R语言 对遇到的一些坑 基础知识 做一个简单记录 文件编码问题 脚本写完之后保存可以选择UTF 8或者GB2313 可以解决中文乱码问题 同样 读文件的时候如果出现读不出来的情况 记得加一个 encodin
  • linux查看剩余信息保护,linux系统日常管理----监控系统的状态(一)

    监控系统的状态 1 w查看当前系统的负载 相信所有的linux管理员最常用的命令就是这个 w 了 该命令显示的信息还是蛮丰富的 第一行从左面开始显示的信息依次为 时间 系统运行时间 登录用户数 平均负载 第二行开始以及下面所有的行 告诉我们
  • 西门子S7-1200控制伺服/步进电机方法与接线(全)

    西门子S7 1200控制伺服 步进电机方法与接线 全 伺服 步进电机在非标自动化控制中十分常用 但作者发现在各类开源网站上很少有人做西门子1200PLC控制伺服 步进电机的教程 于是今天想着跟大家分享一下 本文共分为一下几个四个内容 文章目
  • IDEA 如何搭建python环境

    首先打开idea 首先是file gt setting 然后点击Plugins 然后在Marketplace里面搜索python 然后点击Installed 最后再重启一下IDEA
  • 最优化六:牛顿法(牛顿法、拟牛顿法、阻尼牛顿法)

    牛顿法将目标函数近似为二阶函数 沿着牛顿方向进行优化 包含了Hession矩阵与负梯度信息 阻尼牛顿法在更新参数之前进行了一维搜索确定步长 确保沿着下降的方向优化 拟牛顿法用常数矩阵近似替代Hession矩阵或Hession矩阵的逆矩阵 不
  • GprMax的建模in文件编写详细解释

    一 in建模文件示例 gprMax http www gprmax com 是一款模拟电磁波传播的开源软件 它采用时域有限差分 FDTD 方法求解三维麦克斯韦方程组 gprMax是为模拟探地雷达 GPR 而设计的 但也可以用于模拟电磁波传播
  • 设计模式之组合模式

    组合模式 将对象组合成树形结构以表示 部分 整体 的层次结构 组合模式使得用户对单个对象和组合对象的使用具有一致性 class Program static void Main string args Composite root new
  • python 文件读取

    def read file 读取文件 file name test txt 打开文件 f open file name encoding utf 8 with open file name encoding utf 8 as f 读取文件内
  • 将Ubuntu 的文件映射到windows 中

    可以通过Samba服务器将VM 下安装的Ubuntu 的文件映射到windows系统下 从而实现在windows下对虚拟机中的文件进行编辑 1 sudo apt get install samba 安装samba服务器 2 vim etc
  • Scala中的集合(容器)元素

    1 列表List https blog csdn net hzp666 article details 115004788 2 vector 向量 https blog csdn net hzp666 article details 115
  • Java多线程(面试)

    一 程序 进程与线程 程序 Program 程序是一段静态代码 进程 Process 进程是指一种正在运行的程序 有自己的地址空间 特点 动态性 并发性 独立性 并发和并行的区别 并发 多个cpu同时执行多个任务 并行 一个cpu同时执行多
  • TCP/IP网络编程之四书五经

    TCP IP网络编程之四书五经 http blog chinaunix net u 24935 showart 330099 html http book csdn net bookfiles 69 100691972 shtml http
  • python笔记8--命令行解析Argparse

    python笔记8 命令行解析Argparse 1 功能 2 源码案例 2 1 默认功能 2 3 添加说明 2 4 设置参数类型 2 5 设置参数可省略 2 6 同时存在可省略和必须参数 2 7 设置参数的范围 2 8 结束案例 3 说明
  • SpringBoot,或springcloud微服务项目前端Vue和后端java实现国际化

    外包公司接到了一个新加坡绿联国际银行的项目 有一个需求是要求实现国际化 像谷歌浏览器自带翻译那样 点按钮可以切换英文 繁体 中文来回切换这种效果 琢磨过之后找的资料最多的就是说用i18n 用i18n这个思路没问题 也很简单 下载一下i18n
  • Emqx的简单使用

    Emqx 是一个mqtt 的服务器产品 之前activemq可以作为mqtt协议的服务器 但是功能相对来说比较单一 Emqx作为跟Mqtt协议相关的新一代产品 功能实际上更为强大 它的功能也主要体现在可视化 认证 规则 httpApi 上面
  • MongoDB和Redis

    mongoDB基础语法 封装之后的查询 测试脚本 using System using YouYouServer Common using YouYouServer Common DBData using YouYouServer Core
  • javaweb (三)——javabean

    文章目录 1 1 javabean简介 1 2 javabean应用 1 2 1 javabean与表单 1 2 2 设置属性