![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Javaweb
文章平均质量分 53
abckingaa
一个软件设计爱好者。主要项目经验集中在银行等金融领域,有10余年工作经历。对软件设计如何提高开发效率,提高易维护性,易扩展性,分布式系统、大数据量高可用、高并发系统有深入研究!
展开
-
一文让你搞懂什么是表级锁什么是行级锁,什么情况下使用行级锁
select * from student for update 是表级锁还是行级锁,为什么原创 2024-03-08 11:16:59 · 1020 阅读 · 0 评论 -
idea常用功能
idea常用功能原创 2024-02-22 10:40:53 · 369 阅读 · 1 评论 -
jetty与tomcat有什么异同?各自的优缺点?
总体来说,Jetty更适合于嵌入式应用和对性能和资源消耗有较高要求的场景,而Tomcat更适合于大型Web应用和对功能和稳定性有较高要求的场景。- Tomcat是一个功能强大的Servlet容器和Web服务器,它是Apache软件基金会的一个项目。Jetty和Tomcat都是流行的Java Web服务器,它们有一些相似之处,但也有一些显著的区别。- Tomcat对JSP和Servlet有很好的支持,适合于大型Web应用的部署。- Tomcat有着广泛的应用和支持,是企业级应用中常用的Web服务器之一。原创 2024-02-01 11:09:13 · 855 阅读 · 0 评论 -
MongoDB 查出包含有list的部分项的记录 all/in/and
MongoDB,acl是"admin", "root"时,用以下命令查:但是acl是"admin", "root","其它项";即多于列出那两项时,就查不出来;我想查包含有指定的两项时,就列出;可以多出其它项db.UserInfo.find({"acl": {$all: ["admin", "root"]}}) //至少同时包含有这两项的就查出db.UserInfo.find({"acl": {"$in": ["admin", "root"]}}) // 包含有这两项的,都查出;原创 2024-01-27 13:44:47 · 520 阅读 · 0 评论 -
一文看懂nginx
在这个例子中,我们定义了一个名为"backend"的upstream块,列出了三个后端服务器的地址:backend1.example.com、backend2.example.com和backend3.example.com。在upstream中列出多个后端服务器的地址和权重,Nginx将根据指定的负载均衡算法(如轮询、IP哈希、最小连接数等)将请求分发到这些后端服务器上。这样配置后,Nginx会同时处理两个server配置,并根据访问的域名或端口来决定将请求转发到哪个后端服务器上。nginx的优缺点?原创 2024-01-27 13:42:38 · 347 阅读 · 0 评论 -
Java设计模式中策略模式可以解决许多if-else的代码结构吗? 是否能满足开闭原则?
是的,策略模式可以帮助解决许多if-else的代码结构。通过将不同的算法封装成不同的策略类,然后在需要的时候动态地切换策略,可以避免使用大量的if-else语句来选择不同的算法。因为策略模式将不同的算法封装成不同的策略类,当需要增加新的算法时,只需要添加新的策略类即可,而不需要修改原有的代码。这样就实现了对扩展开放,对修改关闭的原则。通过这样的设计,可以动态切换支付策略,避免了大量的if-else语句。同时,如果需要增加新的支付方式,只需要实现新的支付策略类,而不需要修改原有的代码,符合开闭原则。原创 2024-01-21 00:44:50 · 436 阅读 · 0 评论 -
一文看懂MVC和MVVM;MVC,MVP,MVVM的区别与联系,以及它们的优缺点,应用场景
MVC (Model-View-Controller), MVP (Model-View-Presenter), 和 MVVM (Model-View-ViewModel) 都是用于构建软件应用程序的设计模式。MVP的优点包括更好的测试性和可维护性,视图和模型之间的解耦。MVVM的优点包括视图和模型之间的解耦,视图模型可以更好地管理视图的状态和行为。- MVP和MVVM都试图解耦视图和模型,但MVVM更强调数据绑定和视图模型的概念。- 视图模型(ViewModel):负责处理视图的状态和行为。原创 2024-01-21 00:43:55 · 698 阅读 · 0 评论 -
ORM Bee设计思想与功能思维导图
Bee,互联网新时代的Java ORM框架,支持Sharding;JDBC,Android,HarmonyOS;支持多种关系型数据库,还支持NoSQL的Cassandra,Mongodb等;更快、更简单、更自动,开发速度快,运行快,更智能!ORM Bee设计思想与功能思维导图原创 2024-01-18 22:33:02 · 808 阅读 · 0 评论 -
工厂模式/抽象工厂模式的缺点及解决方法
如果需要增加新的产品,只需创建新的具体产品类和对应的具体工厂类,而不需要修改现有的客户端代码,符合开闭原则。如果需要增加新的实现类,只需要创建新的具体产品类和对应的具体工厂类,而不需要修改现有的客户端代码,符合开闭原则。抽象工厂模式可以创建一组相关或依赖的产品对象,而不需要指定它们的具体类。这样,当需要添加新的产品时,只需创建新的具体产品类和对应的具体工厂类,而不需要修改现有的代码。你说得对,如果产品的种类增加,那么工厂方法模式可能需要修改现有的代码来添加新的具体工厂类和产品类,这将违反开闭原则。原创 2024-01-14 23:19:42 · 436 阅读 · 0 评论 -
Elasticsearch的主要优点,缺点,应用场景
通过Elasticsearch的高性能和实时性,用户可以快速地搜索到所需的商品,并且可以根据不同的条件进行筛选和排序。同时,Elasticsearch的分布式架构可以保证系统的稳定性和可靠性,能够应对高并发的访问请求。易用性:Elasticsearch提供了简单易用的API和丰富的查询语言,使得开发人员可以快速上手并进行复杂的数据分析。硬件要求高:由于Elasticsearch需要处理大量的数据和请求,因此需要较高的硬件配置来保证系统的性能和稳定性。Elasticsearch的主要优点,缺点,应用场景。原创 2024-01-14 23:14:10 · 1308 阅读 · 0 评论 -
Github登录时,要二次验证.Github 2FA登录问题
点击“Enable 2FA now”跳到2FA验证界面。2023下半年, Github登录时,要二次验证.点setup key是到secret串。,点”Continue”就会得到恢复码.这里有一个可以不用app的验证方法。下载恢复码后,就可以去登录了.原创 2024-01-14 23:11:47 · 1207 阅读 · 0 评论 -
Maven编译时,如何忽略swagger注解
在Javabean中,@ApiModelProperty这种swagger注解,只是为了在开发时生成API文档;在放到生产环境时,是不需要的。有什么方法,可以在为生产环境编译jar时,忽略这些swagger注解吗?原创 2024-01-14 23:09:38 · 724 阅读 · 2 评论 -
【无标题】
spring boot 使用swagger, 一运行就报错。i.s.m.p.AbstractSerializableParameter - Illegal DefaultValue null for parameter type integer "java.lang.NumberFormatException: For input string: ""原创 2023-12-17 22:02:52 · 385 阅读 · 0 评论 -
maven仓库有的文件,但使用阿里云却有问题
可能的原因是阿里云的maven仓库没有更新或者缓存中存在问题。强制更新maven仓库:可以尝试强制更新阿里云的maven仓库,以确保所需的库已经被更新到仓库中。在命令行中执行上述命令后,Maven将会清除本地缓存并重新下载所需的依赖,从而确保所需的库已经被更新到仓库中。如果以上方法无法解决问题,可以尝试切换到其他可靠的maven仓库,或者联系阿里云的技术支持寻求帮助。这个命令会清除本地的Maven仓库缓存并强制从远程仓库更新依赖。表示强制更新,它会忽略本地缓存,强制检查远程仓库以获取最新的依赖。原创 2023-12-10 23:15:45 · 893 阅读 · 0 评论 -
GraphQL 实现原理,不要被表象骗了
由于GraphQL是一种需要服务器端支持的查询语言,客户端发送的查询需要在服务器端进行解析、验证和执行,才能返回所需的数据。因此,为了使客户端的GraphQL请求有效,后端需要实现GraphQL的逻辑,包括解析、验证和执行查询,并返回所需的数据。服务器端需要提供一个GraphQL服务,该服务接收客户端发送的GraphQL查询,并根据查询执行相应的逻辑,最终返回所需的数据。处理关联查询:服务器需要处理客户端发送的关联查询,确保能够一次性获取多个关联对象的数据,并将数据整合成客户端期望的格式返回。原创 2023-12-03 23:17:19 · 1015 阅读 · 0 评论 -
多个参数时,使用 restful 风格的弊端,如:@GetMapping (“/list2/{page}/{size}“)
多个参数时,使用 restful 风格的弊端,如:@GetMapping ("/list2/{page}/{size}")restful 的好处就是清楚,每个请求对应一个 url;但可能会导致请求过多。弊端就是参数 1,参数 2:page,size, 不可以只传其中一个,或都不传。每一项技术都不可能打遍天下,过度迷信某个技术,只会将问题复杂化。比方说查询,要是都不传可以默认查首页固定条数的记录。要是 page 不传,可以默认 page=1,但 restful 这种风格就很难做到。原创 2023-05-23 10:47:51 · 334 阅读 · 0 评论 -
Java ORM中间件选型:要整合一堆的工具,还不如只用一个小巧又功能强大的工具
Hibernate/MyBatis + plus + Sharding-JDBC + jpa + Spring data +GraphQL+手机App ORM= Bee要整合一堆的工具,还不如只用一个小巧又功能强大的工具。原创 2022-12-10 09:37:37 · 787 阅读 · 0 评论 -
使用JDBC访问微软Access数据库实例
更快、更简单、更自动,开发速度快,运行快,更智能!// access由于access并不是作为一项服务运行,所以url的方法对他不适用。使用JDBC,需要自己写sql语句, 自己写获取字段结果的代码, 这种代码可以交给ORM去完成.// 实际上,是可以使用 纯JDBC驱动访问access的。是否可以使用JDBC访问, 网上的说法不一, 也很少有实例参考.之前有使用ODBC来访问Access的,但不方便.以下是使用ORM Bee查询的结果.有需要的伙伴可到Q群里问.原创 2022-11-04 23:53:17 · 1120 阅读 · 0 评论 -
h5 localStorage
在某个页面(JSP)有localStorage保存的值;在使用location.href重新指向该页面时,原先在localStorage的值就会被清空.所以LocalStorage并不是永久性的本地缓存原创 2022-06-25 21:45:23 · 831 阅读 · 2 评论 -
Gradle实例: Eclipse生成Gradle工程并访问数据库(Bee)
一、生成Gradle工程默认不一样的有这个选项。 要装相应gradle插件。然后 一步步根据提示点。最后生成两个工程工程-lib其实是在我们命名的工程目录下的lib文件夹。二、添加相应依赖在BeeGradleExam-lib工程的 build.gradle 文件,找到dependencies {}添加:然后,点击工程右键, 选择:Gradle--> Refresh Gradle Project就会下载相应的依赖jar包。三、编写代码1、查询举例,查询订单表Orders的数据其中Orders是表对原创 2022-06-14 11:54:42 · 409 阅读 · 0 评论 -
如何使用ORM Bee在Android中访问数据库?Android环境使用Bee
Android环境使用Bee2.实现app安装及升级需要创建和更新的表3.将YourAppCreateAndUpgrade和Android上下文注册到Bee 并在AndroidManifest.xml,配置android:name为BeeApplication原创 2022-06-13 11:20:36 · 515 阅读 · 0 评论 -
spring boot创建bean失败.Error creating bean with name ‘demo‘: Lookup method resolution failed
spring boot创建bean失败.Error creating bean with name 'demo': Lookup method resolution failed2022-05-21 23:37:44.156 WARN 8188 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancel...原创 2022-05-22 20:07:13 · 2875 阅读 · 0 评论 -
spring boot打包没有将<scope>system</scope>的jar包含进去
spring boot打包没有将<scope>system</scope>的jar包含进去 <dependency> <groupId>com.automvc</groupId> <artifactId>automvc-lib</artifactId> <version>1.0.58</version>...原创 2022-05-22 19:10:35 · 1784 阅读 · 0 评论 -
(三十四)Bee如何配合使用不同版本的Spring-boot
Bee V1.11支持 Spring boot的几个热门版本, 2.5.6; 还有2.6.7; 2.5.13; 1.5.16.RELEASEbee-spring-bootV1.11 整合了spring-boot默认是2.5.6;以下,直接使用与Bee一样的版本号1.11 ,spring-boot默认是2.5.6;并且提供bee-spring-boot-starter.maven依赖: <dependency> <groupId>org.tea...原创 2022-05-07 10:32:43 · 2774 阅读 · 0 评论 -
github添加tag的简便方法
github添加tag的简便方法网上一搜,几乎都是用命令来的。多麻烦。这里教大家一种在界面新增tag的方法。登录github官网,选择release 发布, 点:Draft a new release然后 在Choose a tag,点击下拉框,输入你的tag名称, 会有一个加号,+ Create new tag,你点击就可以生成了。以下是生成ORM Bee V1.11的例子。(ORM Bee一个互联网时代,简单易用又功能强大的ORM工具。)...原创 2022-05-06 10:22:40 · 7529 阅读 · 0 评论 -
JavaWeb前后端代码一键生成
JavaWeb前后端代码一键生成生成包括controller层/Rest类、service层、实体类dao层(可不用),实体类。先说下,用编码配置方式:1.Javabean生成public class GenBeanSimple { public static void main(String[] args) { try{ String dbName=HoneyConfig.getHoneyConfig().getDbName();// driverName,url,.原创 2022-05-04 00:47:06 · 2337 阅读 · 0 评论 -
JavaWeb后端代码自动生成工具
JavaWeb后端代码自动生成工具生成包括controller层/Rest类、service层、实体类dao层(可不用),实体类。先说下,用编码配置方式:1.Javabean生成public class GenBeanSimple { public static void main(String[] args) { try{ String dbName=HoneyConfig.getHoneyConfig().getDbName();// driverName,url.原创 2022-05-04 00:44:45 · 1937 阅读 · 0 评论 -
一个房地产管理部门的面试题:一个小时内用Java写一个查改增删DB的Javaweb例子
一个房地产管理部门的面试题:一个小时内用Java写一个查改增删DB的Javaweb例子事业部门,待遇好。 但面试就是实操的。你能挑战成功吗?看似简单, 但要在规定时间内,空手搭建一个新工程开始,可不能大意哦!...原创 2022-02-20 14:23:22 · 263 阅读 · 0 评论 -
熔断和限流
熔断阻断ORM(服务)和数据库的连接。 当某个服务节点超过负载后,停止该节点对数据库的访问,使数据库能够保证足够的资源为其他节点提供服务。限流面对超负荷的请求开启限流,以保护部分请求可以得以高质量的响应。...原创 2022-02-20 11:48:56 · 1076 阅读 · 0 评论 -
多租户及实现
什么是多租户多租户技术或称多重租赁技术,简称SaaS,是一种软件架构技术,是实现如何在多用户环境下(此处的多用户一般是面向企业用户)共用相同的系统或程序组件,并且可确保各用户间数据的隔离性。简单讲:在一台服务器上运行单个应用实例,它为多个租户(客户)提供服务。从定义中我们可以理解:多租户是一种架构,目的是为了让多用户环境下使用同一套程序,且保证用户间数据隔离。那么重点就很浅显易懂了,多租户的重点就是同一套程序下实现多用户数据的隔离。数据隔离方案多租户在数据存储上存在三种主要的方案,分别是:原创 2022-02-20 01:06:04 · 1477 阅读 · 0 评论 -
2.16.0版的Log4j2,要求jdk至少1.8. 已不再支持jdk1.7
<!-- log4j2 --> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.16.0</version> <scope>provided</scope> </dependency>.原创 2022-01-10 18:16:09 · 1949 阅读 · 0 评论 -
最简单的ORM入门例子Hibernate,Mybatis,Bee
一、Bee入门实例Bee入门实例真的需要十分钟吗?原创 2022-01-04 12:05:29 · 1397 阅读 · 0 评论 -
ORM Bee Transaction事务使用实例
//单笔操作,默认自动提交事务多笔操作要在一次事务提交,可使用:try{ Transaction transaction=SessionFactory.getTransaction(); transaction.begin(); //事务开始 //......放多个操作在这 transaction.commit();//提交事务,事务结束} catch (BeeException e) { ...原创 2021-10-20 09:51:08 · 1024 阅读 · 0 评论 -
Java web更简单的分页设计
后端,定义 的结构体, 不需要包含当前页, 共几页这些无用信息,//复杂的分页结构体, 没必要public class PageQuery { /** *返回结果总数 */ private int total; /** *返回结果集 */ @SuppressWarnings("rawtypes") private List rows; /** *返回结果集合合计 */ @SuppressWarnings("rawtypes") private List foo原创 2021-08-21 16:07:53 · 1051 阅读 · 0 评论 -
解決BufferedReader读取中文乱码问题
Java InputStreamReader 将Stream转String出现乱码. 确认了文件原来有中文,不是乱码. InputStream in=new FileInputStream("D:\\temp\\user2.txt"); System.out.println(stream2String(in)); //stream2String方法的主要代码: sb = new StringBuffer...原创 2021-07-07 13:24:22 · 6550 阅读 · 6 评论 -
在linux系统搭建JavaWeb开发环境
FATAL ERROR: please install the following Perl modules before executing原创 2021-06-20 11:07:27 · 127 阅读 · 0 评论 -
freemarker循环遍历且忽略某个属性
<#list beans as bean> <#if bean.col=="id"> <input type="hidden" name="id"/> <#else> <div style="margin-bottom:10px"> <#if bean.type!="Timest...原创 2021-06-16 12:58:50 · 349 阅读 · 0 评论 -
freemarker循环遍历及只显示前几个元素
<#list beans as bean> <#if (bean_index <= 4)> <span>${bean.label}:</span><input name="${bean.col}" style="line-height:26px;border:1px solid #ccc"> </#if> </#list>原创 2021-06-15 19:58:59 · 376 阅读 · 1 评论 -
tomcat直接启动 访问html出现乱码
tomcat直接启动 访问html出现乱码{TOMCAT_HM}\apache-tomcat-7.0.108\conf\web.xml原创 2021-06-10 13:04:25 · 391 阅读 · 0 评论 -
Tomcat7 类加载器操作指南
类加载器操作指南目录 概述 类加载器定义 XML 解析器和 Java 在安全管理器下运行 高级配置 概述 与许多服务器应用程序一样,Tomcat 安装了各种类加载器(即实现 的类java.lang.ClassLoader)以允许容器的不同部分以及在容器上运行的 Web 应用程序访问可用类和资源的不同存储库。此机制用于提供 Servlet 规范 2.4 版中定义的功能,尤其是第 9.4 和 9.6 节。 在翻译 2021-06-10 12:35:00 · 255 阅读 · 0 评论