Java概述何为编程编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程。为了使计算机能够理解人的意图,人类就必须要将需解决的问题的思路、方法、和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算机之间交流的过程就是编程。什么是JavaJava是一门面向对象编程语言,不仅吸收了C语言的各种优点,还摒弃
今天我们使用Java语言写一个爬虫,用来爬取csdn首页推荐博客的博主,看看这些博主有多少人在写微信公众号。一、爬虫原理爬虫就是去请求某个url,然后将响应的页面进行解析,将解析到的数据保存,同时解析出当前页面的url,继续进行爬取,一直循环下去,爬取当前网站的内容。!(https://s4.51cto.com/images/blog/202112/26173526_61c8375e5686316
一、系统介绍这是一个界面简洁的薪资管理系统,虽然界面简单,但其工资项配置,与考勤挂钩,自动核算功能强大,并有完整的从菜单到按钮的操作权限控制。系统分为了八大模块:系统管理、员工管理、角色管理、部门管理、岗位管理、薪资设置、考勤与工资、通知公告。系统默认有4个角色:管理员,普通用户管理员(admin/admin):可查看和操作所有菜单普通用户(zhangsan/zhangsan):只可进行考勤,请假
我们接着上一章的代码继续来了解一下java类是在什么时候加载的。在开始验证之前,我们现在IDEA做如下配置。XX:+TraceClassLoading监控类的加载!在这里插入图片描述(https://s4.51cto.com/images/blog/202112/25201524_61c70b5c554e187596.png?xossprocess=image/watermark,size_14,
在下面这个例子中,我们分别在父类和子类中测试了静态代码块、普通代码块、静态成员变量、普通成员变量、构造器、静态内部类。一:代码块及变量测试javaclassField{publicstaticStringbaseFieldInit(){System.out.println("父类全局变量");return"";}publicstaticStringbaseStaticFieldInit(){Sys
springsecurity默认的退出路径为/logout,当然我们可以自定义这个路径,然后更改配置即可,我们直接看代码。java.logout().logoutUrl("/signOut")//页面上退出按钮的路径,如果是/logout可不填//.logoutSuccessUrl("/login.html")//跳到页面.logoutSuccessHandler(logOutHandler)//
在我们日常的生产环境中,可能会通过nginx或apach进行分发,以保证系统的稳定性。在这种情况下,因为会涉及到多台服务器,我们必须通过一定的方式实现session共享,也就是服务器A需要拿到服务器B的session。1、我们看一下springboot为我们提供的session共享有哪些方式,下面的这个类中是springboot为我们提供的几种方式javapublicenumStoreType{R
一、session过期处理我们知道session默认的过期时间是30分钟,为了快速实现session过期后如何处理,我们将session设置成1分钟,当然security里面要求session最少过期时间是1分钟,如果设置的少于1分钟会当成1分钟处理。1)application.properties中设置session过期时间javaserver.servlet.session.timeout=6
我们来看看springsecurity的记住我功能是如何实现的。一、原理图!记住我原理图(https://s4.51cto.com/images/blog/202112/24102457_61c52f790166269720.png?xossprocess=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x
在第一篇博客中也说到了springsecurity通过一系列的过滤器将请求进行过滤。我们发现并没有过滤验证码的过滤器,因此我们自己构建一个图片验证码的过滤器来验证验证码。一、设置实体类,写一个验证验证码是否过期的方法javapackagecom.zhb.security.validate.code;importjava.awt.image.BufferedImage;importjava.t
登录成功后我们需要实现AuthenticationSuccessHandler接口来处理我们的逻辑。当然可以继承它的实现类SavedRequestAwareAuthenticationSuccessHandler。登录失败后我们需要实现AuthenticationFailureHandler接口来处理我们的逻辑。当然可以继承它的实现类SimpleUrlAuthenticationFailureHa
最近打算学一套安全框架,目前由于springboot、springcloud的火热,因此springsecurity是第一选择。一、先看看基本原理!springsecurity基本原理(https://s4.51cto.com/images/blog/202112/24101506_61c52d2a7f0e869955.png?xossprocess=image/watermark,size_14
在我们日常开发中,为了保留数据,经常会使用逻辑删除的方式进行数据删除,而mybatisplus正好也提供了这一功能,在第一节中生成代码的时候,我们指定了逻辑删除字段的值,代码如下:javaStrategyConfigsc=newStrategyConfig();sc.setCapitalMode(false);//是否大写命名默认falsesc.setSkipView(true);//是否跳过试图
先来看看Wapper,QueryWapper用于数据库的查询条件构造,UpdateWapper用于数据库的更新条件构造。构造条件的方法具体如下图,图片引自https://blog.csdn.net/m0_37034294/article/details/82917234!在这里插入图片描述(https://s4.51cto.com/images/blog/202112/22175032_61c2f
最近看到一句话:自从用了mybatisplus,泡妞时间一大把了。是不是很羡慕,听名字就知道plus就是mybatis增强版,就跟iphone和iphoneplus一样,iphoneplus肯定更好用。现在我们就一起先了解一下代码生成器,官网上有模板,网上也有很多博客,但是拿下来后会发现,虽然生成表对应的各个类了,但是并没有具体的CRUD方法,现在我们就看看官方gitee上面的源码,试着搭建一个代
今天给大家安利一款excel文件导入神器,easyexcel,官方地址:(https://github.com/alibaba/easyexcel(https://github.com/alibaba/easyexcel))。在官网文档中有介绍了其性能。!poivseasyexcel内存消耗对比2003(https://s4.51cto.com/images/blog/202112/2022233
我们接着上一章的工厂方法模式继续学习一下抽象工厂模式。抽象工厂模式:在工厂模式中,如果有多个产品,则就是抽象工厂模式。例子:有一个工厂开了两个子公司,专门用来生产电脑配件键盘和鼠标,一个是联想工厂则生产联想的产品,另一个是宏碁工厂则生产宏碁的产品。代码如下:1、工厂接口(可以生产鼠标和键盘)javapublicinterfaceFactory{//生产鼠标MousecreateMouse();//
在说工厂方法模式之前,先了解一下简单工厂模式。工厂方法模式其实是在简单工厂上面做了一些增强。简单工厂模式:有一个专门的类来生产其他类的实例,生产的这些实例有一个共同父类。这个跟我们的多态有一点像。例子:假如我们有一个鼠标工厂,这个工厂既可以生产联想鼠标,又可以生产宏碁鼠标。代码如下:1、鼠标工厂(可以生产联想鼠标和宏碁鼠标)javapublicclassMouseFactory{/生产一个鼠标@p
问题:以前,我们在使用SSM框架的时候,都是通过外置的tomcat进行部署,如果想访问文件,直接拖到项目的根目录下面即可。假如我们需要放一个apk文件,然后让别人下载,只需将apk放到项目根目录下面,浏览器通过http://ip:port/projectName/xx.apk(http://ip:port/projectName/xx.apk)即可下载。现在使用springboot进行项目开发,由
JdbcTemplate做为一种常用的和数据库交互的方式,用起来很方便。但是当查询结果为map时要求查询的结果有且仅有一条数据。接下来我们看看源码到底是如何处理的。!queryForMap(https://s4.51cto.com/images/blog/202112/16085558_61ba8e9e58e6259641.png?xossprocess=image/watermark,size_
@toc一、java基础1、面向对象的特征有哪些方面?【基础】答:面向对象的特征主要有以下几个方面:1)抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。2)继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方
先说一下问题,前几天由于工作需要,我这边需要提供几个接口用来接收厂家的数据推送。这没什么难的,写接口无非就是写几个controller来接收参数就可以了。我们先来看看接口文档,他们提供的参数格式如下,数据以作处理只保留格式。java{"time":1515294211,"type":"1","code":"111111","dt":"1","data":{"p":4000,"l":2000,"b"
大家在刷面试题的时候可能都刷到过equals和之间的区别?简单来说答案就是:equals和比较的都是地址,只不过许多类中都重写了equals方法,用来比较他们之间的值。接下来我们就详细看看,他们之间究竟有什么区别。一、堆和栈的区别举个例子说明一下,Stringa=newString("123");1)、对象的引用放在栈中,上例中a放在栈中;2)、八种基本数据类型放在栈中:byte,short,in
前几天有个小伙伴加我之后问了下面的这个问题。我看到后是一脸懵逼的状态,jcombobox?实话说,我已经完全忘了在Java中还有这么个东西。!(https://s4.51cto.com/images/blog/202112/08085606_61b002a606ad563976.png?xossprocess=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6
一、关于三种方式的效率问题在此就不做过多的讨论了。toString()>String.valueOf()>""。在执行效率上toSting()是最快的。二、关于“”和null能使用哪种方式进行转换字符串及转换后是什么1.首先来看“”的转换public static void main(String[] args) { System.out.println("".toString(
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号