Java EE

CSDN慕舲的黑夜-必问 抨击@民意 [导读]1.必问的运营模式&店大欺客@CSDN 2.必问做的手脚&必问的发展限制 3.CSDN令人意见很大的地方 4.我对CSDN的看法

非 Y 不嫁゛ 提交于 2020-08-15 17:53:55
这篇文章本来是面向 biwen .csdn.net(CSDN的必问gitchat)的,后来出了 "csdn慕舲的黑夜2,3...", 有" CSDN的15个bugs,必问做的手脚,gitchat前景 "等,由于博客被封等原因几经辗转,合并为一篇, 深刻分析CSDN及其产品,欢迎转发,转载,评论 [小福利#1] 如果没有cnblogs号,可以到 https://www.materialtools.com/?page=1 自取一个能用的,当然推荐注册一个,加入园子技术交流分享知识,具体可参考: https://www.cnblogs.com/dlight/p/get.html 创作不易,希望读完全文 //如果是要提问,推荐加作者QQ3461896724解决 本文 链接 https://www.cnblogs.com/dlight/p/biwen.html 注: 所有图片都可以在新标签页打开放大至原图 > 。。。。。。。。。。。。。。。。。。。。。。。 。。。。。。。。。。。。。。。。。。。。。。。 先简单介绍一下必问 //来自 https://baike.baidu.com/item/蒋涛/9905541 (蒋涛) 和 biwen.csdn.net 的截图 蒋涛 ,1997年作为" 金山词霸 "" 金山打字通 "等产品的领导开发者(你们都用过吧), 1999 年创办了号称"%1,%2

Springmvc跨域过滤器

寵の児 提交于 2020-08-15 17:45:17
Springmvc跨域过滤器 创建过滤器 将HeaderFilter文件放入到项目中,如果请求携带了自定义的header信息则需要配置在过滤器Headers中,如图: 2.把过滤器配置到web.xml中,替换自己HeaderFilter的全限定名称即可 <filter> <filter-name>header</filter-name> <filter-class>com.interceptor.HeaderFilter</filter-class> </filter> <filter-mapping> <filter-name>header</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 3.过滤器代码 package com.interceptor; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet

Java--用户登录(JDBC,MYSQL,Servlet)

青春壹個敷衍的年華 提交于 2020-08-15 16:47:55
Java--用户登录(JDBC,MYSQL,Servlet) 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 用户登录案例需求 编写login.html登录页面 username & password 两个输入框 使用Druid数据库连接池技术,操作mysql,day14数据库中user表 使用JdbcTemplate技术封装JDBC 登录成功跳转到SuccessServlet展示:登录成功!用户名,欢迎您 登录失败跳转到FailServlet展示:登录失败,用户名或密码错误 登录页面 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action="/login_test/loginServlet" method="post"> 用户名:<input type="text" name="username"> <br> 密码:<input type="password" name="password"><br> <input type="submit" value="登录"> </form> </body> </html> 创建数据库 CREATE

springBoot之配置文件的读取以及过滤器和拦截器的使用

a 夏天 提交于 2020-08-15 15:58:34
springBoot之配置文件的读取以及过滤器和拦截器的使用 前言 在之前的学习 springBoot 中,成功的实现了Restful风格的基本服务。但是想将之前的工程作为一个项目来说,那些是仅仅不够的。可能还需要获取自定义的配置以及添加过滤器和拦截器。至于为什么将这些写在一起,只是因为这些比较简单而且也会经常用到,所以干脆就一起写出来了。 读取配置文件 在使用maven项目中,配置文件会放在 resources 根目录下。 我们的springBoot是用Maven搭建的,所以springBoot的默认配置文件和自定义的配置文件都放在此目录。 springBoot的 默认配置文件为 application.properties 或 application.yml ,这里我们使用 application.properties 。 首先在 application.properties 中添加我们要读取的数据。 springBoot支持分层结构。 例如: web: pancm: title: SpringBoot description: test 注意前面的空格! 在 application.properties 添加完之后,我们便在代码中进行读取。 这里我们使用**@Value** 方式。 首先在类中添加 @Component 、 @ConfigurationProperties

什么是微服务?为什么你要用微服务?

落爺英雄遲暮 提交于 2020-08-15 14:45:26
​ 前言 最近几年微服务很火,大家都在建设微服务,仿佛不谈点微服务相关的技术,都显得不是那么主流了。 近几年见识到身边朋友的很多公司和团队都在尝试进行微服务的改变,但很多团队并没有实际微服务踩坑经验,很多团队甚至强行为了微服务而去微服务,最终写成一个大型的分布式单体应用,就是改造后的系统既没有微服务的快速扩容,灵活发布的特性,也让原本的单体应用失去了方便开发,部署容易的特性(项目拆为多份,开发部署复杂度都提高了),不得不说是得不偿失。 作者亲身经历和参与几个大型项目微服务的改造和建设。所以想作为实践者跟大家分享关于微服务的实际经验,帮助大家了解微服务的优缺点,从而可以结合自身业务做出更加合适的选择,作为本篇文章的三个主题,例如: 什么是微服务?为什么要用微服务? 微服务解决什么问题,又引入了什么问题? 使用微服务应该要遵循哪些原则?什么样的情况你不应该使用微服务? (PS:因为市面上太多对如果使用微服务框架工具的教程,所以本篇只是一篇关于微服务的总体概述性文章,不涉及各种微服务框架的安装和使用教程,我们只谈论微服务本身的设计模式的优缺点和适合应用的场景) 一:什么是微服务?为什么要用微服务? 什么是微服务?(熟悉的同学可以直接跳过) 简单举例:看军事新闻的同学应该都知道,一艘航空母舰作战能力虽然很强,但是弱点太明显,就是防御能力太差,单艘的航空母舰很少单独行动

CSDN慕舲的黑夜-必问 抨击@民意 [导读]1.必问的运营模式&店大欺客@CSDN 2.必问做的手脚&必问的发展限制 3.CSDN令人意见很大的地方 4.我对CSDN的看法

落爺英雄遲暮 提交于 2020-08-15 14:43:23
这篇文章本来是面向 biwen .csdn.net(CSDN的必问gitchat)的,后来出了 "csdn慕舲的黑夜2,3...", 有" CSDN的15个bugs,必问做的手脚,gitchat前景 "等,由于博客被封等原因几经辗转,合并为一篇, 深刻分析CSDN及其产品,欢迎转发,转载,评论 [小福利#1] 如果没有cnblogs号,可以到 https://www.materialtools.com/?page=1 自取一个能用的,当然推荐注册一个,加入园子技术交流分享知识,具体可参考: https://www.cnblogs.com/dlight/p/get.html 创作不易,希望读完全文 //如果是要提问,推荐加作者QQ3461896724解决 本文 链接 https://www.cnblogs.com/dlight/p/biwen.html 注: 所有图片都可以在新标签页打开放大至原图 > 。。。。。。。。。。。。。。。。。。。。。。。 。。。。。。。。。。。。。。。。。。。。。。。 先简单介绍一下必问 //来自 https://baike.baidu.com/item/蒋涛/9905541 (蒋涛) 和 biwen.csdn.net 的截图 蒋涛 ,1997年作为" 金山词霸 "" 金山打字通 "等产品的领导开发者(你们都用过吧), 1999 年创办了号称"%1,%2

@resource 与 @autowired

≡放荡痞女 提交于 2020-08-15 14:32:37
共同点 两者都可以写在字段和 setter 方法上。两者如果都写在字段上,那么就不需要再写 setter 方法。两者大体使用相同。 不同点 @Autowired 为 Spring 提供的注解,需要导入包 org.springframework.beans.factory.annotation.Autowired ;只按照 byType 注入。 @Autowired 默认 按类型装配 (这个注解是属于 spring 的),默认情况下必须要求依赖对象必须存在,如果要允许 null 值,可以设置它的 required 属性为 false,如:@Autowired(required=false) ,如果我们想使用名称装配 可以结合 @Qualifier 注解进行使用。 @Resource (这个注解属于J2EE的,java自带的注解),默认按照名称进行装配,名称可以通过name属性进行指定,如果没有指定 name 属性,当注解写在字段上时,默认取字段名进行安装名称查找,如果注解写在 setter 方法上默认取属性名进行装配。 当找不到与名称匹配的 bean 时才按照类型进行装配。 但是需要注意的是, 如果 name 属性一旦指定,就只会按照名称进行装配。 推荐使用 @Resource,并且这个注解是属于 J2EE 的,减少了与 spring 的耦合,代码看起就比较优雅,而且实际工作中

一言难尽,Jpa这个功能差点让我丢了工作

穿精又带淫゛_ 提交于 2020-08-15 13:56:44
故事背景 前阵子,有位朋友在微信上问我数据被删了能不能恢复,我问了下原因,居然是因为一个配置项惹的祸。 故事细节 在 Spring Boot 中使用 jpa 来操作数据库,jpa 就不做详细的介绍了,相信大家都有所了解或者也用过。 在 jpa 中有一个配置项,可以让程序在启动的时候自动初始化表结构或者更新表结构的功能。听上去很不错,非常实用。 其实这是一个非常危险的功能,个人觉得不应该提供这种功能,只要留了口子就有可能会出问题。 这个配置就是: spring.jpa.hibernate.ddl-auto create( 危险系数 2 颗星 ) 应用启动的时候,如果数据库中没有对应的表,就会自动根据实体类的结构创建一个表结构。如果表已经存在了就会将表中的数据清空。 create-drop( 危险系数 3 颗星 ) 应用启动的时候,如果数据库中没有对应的表,就会自动根据实体类的结构创建一个表结构。如果表已经存在了就会将表中的数据清空。 程序停止的时候会将数据库中所有表删除掉。 update( 危险系数 1 颗星 ) 应用启动的时候,如果数据库中没有对应的表,就会自动根据实体类的结构创建一个表结构。如果表已经存在了就会判断有没有新增字段或者修改长度之类的,如果有则会更新表结构,不会影响数据。 validate( 危险系数 0 颗星 ) validate 不会更新和删除表或者数据

Java大文件分片上传/多线程上传插件

China☆狼群 提交于 2020-08-15 13:54:37
java两台服务器之间,大文件上传(续传),采用了Socket通信机制以及JavaIO流两个技术点,具体思路如下: 实现思路: 1、服:利用ServerSocket搭建服务器,开启相应端口,进行长连接操作 2、服:使用ServerSocket.accept()方法进行阻塞,接收客户端请求 3、服:每接收到一个Socket就建立一个新的线程来处理它 4、客:利用Socket进行远程连接,询问已上传进度 5、客:使用FileInputStream.skip(long length)从指定位置读取文件,向服务器发送文件流 6、服:接收客户端输入流,使用RandomAccessFile.seek(long length)随机读取,将游标移动到指定位置进行读写 7、客/服:一个循环输出,一个循环读取写入 8、示例:以下是具体代码,仅供参考 文件介绍: FileUpLoadServer.java(服务器接收文件类) FileUpLoadClient.java(客户端发送文件类) FinalVariables.java(自定义参数类) SocketServerListener.java(JavaWeb启动Socket操作类) web.xml(配置文件,跟随项目启动) 断点上传(服务端) package com.cn.csdn.seesun2012.socket; import java.io

SpringMVC 超大文件上传和断点续传的实现

浪尽此生 提交于 2020-08-15 13:33:42
需求:项目要支持大文件上传功能,经过讨论,初步将文件上传大小控制在500M内,因此自己需要在项目中进行文件上传部分的调整和配置,自己将大小都以501M来进行限制。 第一步: 前端修改 由于项目使用的是BJUI前端框架,并没有使用框架本身的文件上传控件,而使用的基于jQuery的Uploadify文件上传组件,在项目使用的jslib项目中找到了BJUI框架集成jQuery Uploadify的部分,这部分代码封装在bjui-all.js文件中, 在bjui-all.js文件中的全局变量定义中有以下部分代码,这就是定义的有关于上传的Uploadify控件的重要变量: upload:{uploadLimit:5,fileSizeLimit:31744,removeTimeout:0.8} 以上三个变量代表的含义是: uploadLimit:表示上传文件个数的限制,5表示文件上传个数限制是5个 fileSizeLimit:表示上传文件大小的限制,31744单位是KB,也就是表示31M removeTimeout:表示移除文件的时间限制 继续查找使用到这些变量的地方,看到了文件大小超出限制等 了解了BJUI前端框架对于上传大文件的限制,可以这样使用,增大文件上传大小和数量,可以按照如下进行修改,我们在bjui-all