![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaWeb开发实战
文章平均质量分 73
Peter(阿斯拉达)
关注系统界面开发技术,安全,语言特性,网络,图形,AI,硬件,并发,研发流程管理.
展开
-
[Java]_[中级]_[使用okhttp3和HttpClient代理访问外部网络]
1. `Java`的`http`库常用的有`HttpClient`和`Okhttp3`, 如果公司有限制网络访问,需要代理才可以访问外网,那么如何使用代理`Proxy`?原创 2023-09-11 22:33:37 · 1028 阅读 · 0 评论 -
[Java]_[初级]_[使用SAX流的方式写入XML文件]
1. 文件的写入目前没有发现可以增量写入的,只能是完全重新写入。对于大量数据需要写入`XML`文件,还是和读`XML`文件一样,不需要生成`DOM`模型能节省不少的内存和指令。原创 2023-09-03 18:55:07 · 436 阅读 · 0 评论 -
[Java]_[初级]_[以SAX流的方式高效读取XML大文件]
作为网站的站点地图,提供了固定的格式化数据, 也方便了搜索引擎进行索引。 因此对的读写功能是比较重要的。那么如何实现大数据量的读写才可以节省内存和减少指令的执行?说明和一样,对读用流的方式,可以减少中间的模型的生成,也不需要读取整个文件到内存。这样的不需要借助第三方库,标准库里就有。流式读取使用模型的方式,从开头按起始标签和结束标签的方式进行读取数据。并需要实现自己的来处理需要的元素。这个就是模板类,它的相关方法会在识别到特定的对象是调用,比如属性,起始结束元素,元素值等。例子以原创 2023-09-03 11:24:17 · 879 阅读 · 0 评论 -
[Java]_[初级]_[使用fastjson以流的方式读取json大文件]
1. 开发`JSON`应用时,有时候需要从`JSON`文件里读取配置数据到内存。当`JSON`文件足够大时,如果先把文件读入内存再进行`parse`会浪费不必要的大文件连续内存。甚至可能会导致`OOM`, 这时候如果能像`XML`文件那样可以以流的方式读取结构化`JSON`数据,那么会节省很多内存。那么怎么做?原创 2023-09-02 10:52:13 · 1772 阅读 · 0 评论 -
[JavaWeb]_[中级]_[Tomcat在关闭时报指向Jfinal框架的错误]
1. 在部署`jfinal`程序到`tomcat`的时候,使用`startup.bat`启动网站,之后用`shutdown.bat`关闭网站,发现命令行窗口无法终止退出。报以下错误, 怎么处理?原创 2023-03-29 23:24:30 · 832 阅读 · 1 评论 -
[JavaScript]_[初级]_[使用HTMLElement.dataset快速读写自定义属性]
1. 在开发前端页面时,一般会在某些元素上增加自定义的属性来存储额外的数据。比如图片元素``上增加`big`和`small`属性来存储大图片和小图片,当点击某个按钮时可以通过`JavaScript`来控制切换大小图片。那么这些自定义的属性如何读写?原创 2022-11-20 17:15:26 · 508 阅读 · 0 评论 -
[JavaWeb]_[中级]_[在jfinal里如何启用异步请求-异步模式]
1. `JavaWeb`的`Servlet 3.0`规范已经支持异步`ServletRequest`, 有这个异步请求,容器(`Tomcat`)线程池只需要少量的线程即可处理大量的并发请求,因为处理请求的线程可以把异步`AsyncContext`交给业务线程池处理之后立即返回。`Node.js`的异步`IO`应该也是用的这种技术,用单线程处理异步请求`IO`。那么在使用`Jfinal`框架时如何引入异步`ServletRequest`?原创 2022-10-04 17:25:08 · 714 阅读 · 0 评论 -
[JavaScript]_[初级]_[不使用JQuery原生Ajax提交表单文件并监听进度]
1. 不可否认,使用`JQuery`来提交表单文件还是比较方便的。问题是`JQuery`性能问题,去掉`JQuery`如何提交文件,并且监听文件的提交进度?原创 2022-09-04 20:31:35 · 284 阅读 · 0 评论 -
[JavaScript]_[初级]_[不使用JQuery原生Ajax提交表单]
1. 在开发网页表单时,需要异步提交表单并返回提交成功或错误的提示。如何在不需要`JQuery`库的前提下发送`Ajax`表单请求?原创 2022-09-04 17:01:20 · 652 阅读 · 0 评论 -
[JavaWeb]_[初级]_[如何更换免费网站字体]
在开发`Web`网站时, 标准字体比较难看,这时候可以更换免费的`Web`字体来美化网页。`Windows`系统自带的字体大多数都是商业字体,只能在`Windows`上使用,不可以用于商业运行。目前国内有免费商用的设计字体有阿里巴巴普惠体,但不是网络字体。 那么如何引入免费的网络字体?...原创 2022-07-28 15:39:54 · 600 阅读 · 0 评论 -
[JavaWeb]_[初级]_[Jfinal使用时的常见错误]*持续更新*
Jfinal 编译运行问题1. undertow如何配置静态资源映射Windows下的路径必须是/,不能是\.undertow.resourcePath=src/main/webapp,C:/Users/apple/image_resources,classpath:webapp`2. 新建模块运行报错: 需要重载包含该模块的主pom.xml文件Connected to the target VM, address: '127.0.0.1:26427', transport: 'socket原创 2022-04-14 18:04:05 · 573 阅读 · 0 评论 -
[JavaWeb]_[初级]_[对Jfinal框架的Controller进行单元测试]
场景开发JavaWeb网站时,对Service层使用JUnit测试接口还是比较容易的,因为它基本只涉及了简单的数据库操作和业务单元操作,不涉及复杂的页面导航校验,最主要的还是不需要启动应用服务器Tomcat来运行单元测试。只测试Service层是不够的,完整的单元测试也应该包含Controller(控制层)的测试,这样可以避免耗时的浏览器点击验证流程。那么这一层如何高效的进行单元测试呢?说明一般应用框架都会有Controller,它会用到容器的HttpServletRequest,H原创 2022-04-14 17:05:21 · 3131 阅读 · 0 评论 -
[JavaWeb]_[初级]_[对Jfinal框架的Service层进行单元测试]
场景开发JavaWeb网站时,无论是否使用框架,都需要进行单元测试。比如对数据库查询的接口进行单元测试,直接查询和更新,避免了从浏览器进入的一系列鼠标点击操作,节约了测试时间。这里使用了常见的国内中小型框架Jfinal来开发网站,那么如何对这个框架的BlogService进行单元测试?说明Java使用JUnit进行常规的单元测试。这里使用项目4.9.15_demo_for_maven[3]作为测试源码. 关于导入4.9.15_demo_for_maven可以参考搭建jfinal_4.原创 2022-04-11 16:03:20 · 3836 阅读 · 1 评论 -
[JavaWeb]_[JavaScript]_[如何实现图片的滚动懒加载]
场景开发网站时,页面需要支持图片在页面滚动条移动时才加载,类似微信的公众号页面,这样能让页面按需加载。怎么实现?在历史页面里,已经有内容使用<img src="https://...">元素标签,并使用富文本编辑器添加图片,而添加的图片就是在src属性里添加超链接的,那么如何不改动原来内容数据的情况下支持图片的滚动加载?说明开发网站目前要求是基于SSR(服务端渲染)的技术方案,方便搜索引擎索引和搜录. 这种SSR的技术其实主要的还是在输入url后,服务端基本上输出大部分的原创 2022-02-28 15:26:59 · 887 阅读 · 0 评论 -
[Javascript]_[初级]_[获取日期的时间间隔-格式化日期时间]
场景在开发网站前端时,有时候需要Javascript进行倒计时,并显示在页面上. 如何做?说明Javascript有内置的Date对象来处理日期,并且可以通过getTime获取自从UTC 1970来现在的总毫秒数。通过两个日期的总毫秒数相减,可以得到日期时间间隔。计算日期时间间隔; 注意JavaScript的原生Date对象的month是0-11,比如9代表10月份.Date对象有相关的getUTFXXX方法,可以得到UTC的年月日时分秒的数值。例子这个例子输入未来日期时原创 2021-12-19 18:24:43 · 1028 阅读 · 0 评论 -
[JavaWeb]_[初级]_[img标签的值为#时导致重复访问当前页面]
场景在开发网站时,可能会遇到调试一个URL逻辑时,这个URL被调用了两次,怎么回事?有些图片需要延迟加载. 那么src值会设置为#值,这会有什么坏处?说明URL被凋用两次,其实就是和<img src="#">标签的src值设置为#的原因。大多数的html标签,如果值是#,那么就会访问当前的URL网址. 比如<a href="#">标签,点击的时候其实就是访问当前页面. 而<img>在网页加载时会自动访问src里的网址,因此也就是会再访问一次当前网页。原创 2021-12-19 12:50:51 · 236 阅读 · 0 评论 -
[JavaWeb]_[初级]_[使用IntelliJ IDEA进行远程Tomcat调试]
场景在开发JavaWeb程序时, 正式环境上部署的服务器往往都是tomcat应用服务器. 那么如果需要进行调试网站的访问代码时,如何调试?说明在使用jfinal开发网站时,可以使用它自带的undertow嵌入式应用服务器像本地代码一样调试。但是部署到应用服务器总是得使用一个稳定,资料丰富,可定制的tomcat来运行网站更可靠。因此就会出现使用使用undertow开发,而正式部署上用tomcat的情况.使用IntelliJ IDEA Community 2021.1.2版本可能会少那么些集原创 2021-12-15 14:49:14 · 634 阅读 · 0 评论 -
[网站]_[初级]_[配置Apache支持https访问-自签名证书还是提示错误的问题]
场景现在的网站基本都是需要支持https,不然会被谷歌系浏览器给出以下警告. 虽然可以点击继续前往,但是如果跳转到这个网站的其他页面又会有相同的警告,导致打开网页失败,总不能一个个页面去点继续前往。怎么处理?您的连接不是私密连接...NET:ERR_CERT_AUTHORITY_INVALID...在给本地网站进行测试时,需要配置https支持,那么需要配置服务器证书,用于https请求的加密。参考网上的文章配置的基本都是生成CA私钥和Server公钥的, 按照其做法还是出现您的连接原创 2021-06-21 14:09:28 · 1190 阅读 · 0 评论 -
[JavaWeb]_[初级]_[jfinal集成ehcache缓存]
场景开发网站的时候,有些页面在后台SQL查询时间比较慢(比如需要集成多个表的数据),如果页面内容不常变化,那么能否设置页面缓存,让用户访问的时候能直接显示已经查询过的数据,快速显示页面?Java生态里就有这一个产品ehcache, 可以做到缓存的功能. 那么它如何集成进JFinal框架里?说明集成ehcache步骤:1.1 在项目maven文件pom.xml里增加ehcache的依赖, 注意目前jfinal只支持2.x版本的ehcache.<dependency>原创 2021-11-19 13:52:14 · 473 阅读 · 0 评论 -
[Java]_[初级]_[使用easyexcel生成或下载Excel文件]
场景最近在开发JavaWeb网站时,有时候需要导出查询的数据为Excel数据. 使用POI库的话需要自己写每一列每一行,很麻烦. 如何能快速编码生成一个带表格数据Excel文件,但是性能也需要足够高,不能耗费太多内存。阿里的开源库easyexcel可以做到.easyexcel是基于Java对象的成员变量映射到每行数据的,而大部分例子都是通过配置成员变量的注解属性来确定列名,忽略的列,合并列,字段输出格式等。那么如果不想用注解来说明成员变量,有什么办法?说明easyexcel这种基于J原创 2021-11-15 09:47:46 · 1490 阅读 · 0 评论 -
[JavaWeb]_[初级]_[对Html特殊符号进行转义防止XSS攻击和反转义]
场景在开发Java Web程序时,为了防止XSS的JavaScript攻击, 需要对用户输入转义,使JavaScript脚本不能执行. 在前端可以通过获取<div>的innerHTML属性来获取转义内容,但是在服务端如何进行转义?因为客户端是可以绕过的.说明HTML内容的转义在开发Web时肯定是必须做的,在入数据库之前得转义,而不是在用的时候再转义。主要是防止在使用这类数据的时候忘记没有转义导致的XSS安全问题.转义HTML字符主要涉及到5个字符<>"'&原创 2021-11-03 10:31:43 · 1739 阅读 · 0 评论 -
[Java]_[初级]_[配置IDEA和Android Studio的JDK]
场景开发Java程序一般我们都用IDEA, 项目配置文件都使用maven的pom.xml来配置;开发Android程序会使用Android Studio来开发,而项目配置就是使用gradle的build.gradle。那么如何对这两种项目指定编译JDK呢?说明Android - Gradle - JDK配置图1:IDEA - MAVEN - JDK配置图2:...原创 2021-10-06 17:26:57 · 269 阅读 · 0 评论 -
[JavaWeb]_[初级]_[搭建jfinal_4.9.15_demo_for_maven开发环境]
场景在Java轻量级的Web框架里,JFinal[2]是比较实用和易学的。学习这个框架,首先得搭建它的jfinal 4.9.15 demo for maven(目前最新版)运行起来,在官网就有下载。那么下载完之后如何搭建开发环境?说明解压jfinal_demo_for_maven之后,在安装目录\启动说明\启动说明.txt里大概有几个步骤, 我们看步骤1,2即可,使用ideaj导入这个项目。步骤安装JDK开发Java项目,首先肯定是要下载JDK, JDK这里至少要1.8以上版本. 下原创 2021-08-06 14:12:09 · 577 阅读 · 0 评论