![](https://img-blog.csdnimg.cn/20190918140037908.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
JAVA WEB
文章平均质量分 85
java web系列
柏油
不负冬日春晓 不负青春韶华
展开
-
服务端实时推送技术之SSE(Server-Send Events)
服务端推送,也称为消息推送或通知推送,是一种允许应用服务器主动将信息发送到客户端的能力,为客户端提供了实时的信息更新和通知,增强了用户体验。原创 2023-04-28 09:12:32 · 9919 阅读 · 3 评论 -
Feign 应用之 RequestInterceptor 拦截器,超实用指南
思考一下,你目前正在使用微服务体系,一个普通的用户请求可能会在微服务之间多次调用,而途径的每个微服务都需要原始请求的部分参数,你会如何传递这些参数?在之前的文章中,我们了解到,Feign 的本质就是 JAVA 易用版的 HTTP 上层封装,本质还是 `HTTP` 调用想要原始请求参数在微服务之间流转,本质就是在调用下游服务的 HTTP 请求头上添加这些参原创 2022-09-26 12:15:00 · 16061 阅读 · 6 评论 -
CGLib动态代理出现空指针异常
异常发生:某天给controller层的方法加上了日志切面之后,调用那些final方法时不能使用注入到bean中的属性,并抛出NPE异常;为什么spring生成的cglib动态代理类不能获取到原对象注入的属性呢?原创 2021-04-05 23:31:26 · 2378 阅读 · 2 评论 -
ssh项目开发总结
一:Hibernate、HibernateTemplate1、 Hibernate 的 save返回值 类型为 Serializable接口,该结果的值就是你插入到数据库后新记录的主键值。如果你的主键是数值,可以按如下方法:Serializable result =this.getSession().save(t);Integer integer = (Integer)result;...原创 2018-03-08 21:20:53 · 1454 阅读 · 0 评论 -
SSH--进入登录页面或者管理页面(jsp)
<% if(session.getAttribute("user") !=null){ %> 当前用户: <% Users user = (Users) ses原创 2017-10-05 21:07:24 · 2865 阅读 · 0 评论 -
SSH--hibernateTemplate通过Criteria、Restrictions条件限制查询
//部分方法的实现: @Override public List searchSalerOutOrBuyerIn(Goods condition,Users users) { Session session = super.getHibernateTemplate().getSessionFactory().getCurrentSession(); Criteria criteria =原创 2017-10-05 21:01:11 · 356 阅读 · 0 评论 -
SSH--分页处理
Action代码: /* * 分页查询处理 */ @SuppressWarnings({ "unused", "unchecked" }) public String execute(){ String hql = "select count(*) from Goods"; Integer totalNum = (int) goodsBid.totalNum(hql).lo原创 2017-10-05 20:55:43 · 293 阅读 · 0 评论 -
SSH--文件上传、删除
public String execute(){ //获取当前web工程下的/pic目录的在本机的绝对路径,如果没有则自动创建 String targetPath = ServletActionContext.getServletContext().getRealPath("/pic"); //重新设置文件名字,非必须 String targetFileName = generat原创 2017-10-05 20:50:59 · 2291 阅读 · 0 评论 -
Ajax技术--多级联动下拉列表($.ajax())
运行结果:1、设置zone.xml文件:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/2002/xmlspec/dtd/2.10/xmlspec.dtd"> <city id = "00001" name = "北京市" area = "东城区,西城区,朝阳原创 2017-07-25 22:51:11 · 350 阅读 · 0 评论 -
Ajax技术--实时显示公告信息($.get())
1、index.jsp页面:<%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%> "> My JSP 'i原创 2017-07-23 23:48:52 · 1520 阅读 · 0 评论 -
Ajax技术--服务器返回数据格式(HTML,XML,JSON)
默认情况下返回HTML格式,所以不必设置,直接输出即可,案例:实时显示聊天内容2、返回XML格式:XML中常用attr()返回节点属性,应用find()方法获取XML文档文本节点index.jsp页面:<%String path = request.getContextPath();String basePath = request.getScheme()+"://"+req原创 2017-07-23 15:34:40 · 1059 阅读 · 0 评论 -
Ajax技术--实时显示聊天内容($.post(url,data,success()))
1、index.jsp页面:<%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%> "> My JSP 'i原创 2017-07-23 14:12:46 · 640 阅读 · 0 评论 -
Ajax技术--检查用户名是否唯一($.get(url,data,success()))
index.jsp页面: My JSP 'index.jsp' starting page <!-- --> #div1 {display: none;width: 100px;background: red;} $(document).ready原创 2017-07-22 14:22:41 · 395 阅读 · 0 评论 -
Ajax技术--load()显示当前时间
1、index.jsp页面<%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%> "> My JSP 'in原创 2017-07-22 08:08:54 · 560 阅读 · 0 评论 -
Ajax技术--引入jQuery不起作用(细心)
<%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%> "> My JSP 'index.jsp' startin原创 2017-07-21 23:45:42 · 5406 阅读 · 1 评论 -
Ajax技术--检查用户名是否唯一
index.jsp界面: My JSP 'index.jsp' starting page <!-- --> #div1 {display: none;width: 100px;background: red;} window.onload = function(){ var原创 2017-07-21 15:14:06 · 330 阅读 · 0 评论 -
使用jQuery实现Ajax
jQuery对Ajax操作进行了封装,在jQuery最底层的方法是$.ajax(),第二层是load(),$.get(),$.post(),第三层是$.getScript(),$.getJSON()。load()方法是jQuery中最简单,最方便的Ajax方法。原创 2017-07-03 00:11:09 · 253 阅读 · 0 评论 -
AJAX-数据格式提要
服务器端的编程语言只能以如下三种格式返回数据:XML,jSON,HTML(1)HTML返回: window.onload = function (){ var aNodes = document.getElementsByTagName("a"); for (var i = 0; i < aNodes.length; i++) { aN原创 2017-06-30 16:32:24 · 238 阅读 · 0 评论 -
AJAX简单运用1(HelloWorld)
一)、使用超链接时,通过网页提示显示内容,不进行页面跳转,使用AJAX。GET请求:<%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>原创 2017-06-29 22:42:03 · 483 阅读 · 0 评论 -
一次线上OOM(java.lang.OutOfMemoryError: GC overhead limit exceeded)
环境16G运行内存,PostgreSql数据库Java8默认收集器Parallel Scavenge, 即新生代 PS-Scavenge, 老年代 PS-MarkSweep(Parallel-Scavenge收集器架构中本身的老年代收集器,与Serial Old的实现非常接近)原因有一个定时任务, 在应用启动的时候运行,由于查询时间范围较大, 数据量13w多(大小50-100k/每条...原创 2020-03-04 16:24:32 · 437 阅读 · 0 评论 -
js技术--正则表达式
一:知识概要1、转义字符:(1) . 任意字符(2) \d 数字[0-9](3)\w 数字、字母、下划线[a-z0-9](4)\s 空格 (5)\D 非数字[^0-9](6)\W [^a-z0-9](7)\S 非空格2、量词{n} 正好出现n次{n,m}最少n次,最多m次{n,}最少n次,最多不限+ ---> {1,}原创 2017-07-19 23:35:20 · 231 阅读 · 0 评论 -
js技术--cookie基础(封装cookie、使用cookie记录上一次用户登录名)
案例1:cookie window.onload = function(){ var oDate = new Date(); oDate.setDate(oDate.getDate()+1); document.cookie = 'user=ldw;expires='+oDate; alert(document.cooki原创 2017-07-19 14:21:39 · 1066 阅读 · 0 评论 -
js技术--BOM(open,close,右下角固定悬浮框)
案例1:代码运行 window.onload = function(){ var oTxt = document.getElementById("tarea"); var oBtn = document.getElementById("btn"); oBtn.onclick = function(){ var oNewW原创 2017-07-18 23:08:41 · 938 阅读 · 4 评论 -
js运动技术
1、“分享栏”: #div1 {width: 150px;height: 200px;background: red;position: absolute;left: -150px;} #div1 span{width: 20px;height: 60px;position: absolute;top: 70px;right: -20px; backg原创 2017-07-11 15:07:15 · 212 阅读 · 0 评论 -
正则表达式(检查用户名、密码、电话号码)
js代码: function checkU() { //检查用户名 var u = document.getElementById("userName"); var reU = document.getElementById("reUser"); if(u.value.length12){ u.focus();原创 2017-10-04 14:38:58 · 5888 阅读 · 0 评论 -
一次性口令机制java实现(信息安全)
在信息学中,密码也叫口令,要实现登录验证,每次网络传输的口令都不一致,故称为一次性口令机制。这里实现简单的一次性口令机制:(SpringMVC实现)思路:用验证码代替时间戳,将密码(口令)通过md5算法加密,再将验证码加在后面,然后再用md5算法加密,在网络传输过程中以密文的形式传输到后台管理。后台数据库保存的是用md5算法加密后的密文,将该密文加上保存在session范围内的验证原创 2017-10-24 19:56:09 · 9604 阅读 · 3 评论 -
分布式注册中心xxl-registry源码分析
官网概述:XXL-REGISTRY 是一个轻量级分布式服务注册中心,拥有"轻量级、秒级注册上线、多环境、跨语言、跨机房"等特性。现已开放源代码,开箱即用。基本思路:注册中心的基本的功能一般包括服务注册(registry)、服务发现(discovery)、服务摘除(remove)等;然后就涉及到服务宕机后能否及时摘除、如何高效的服务发现、注册中心数据备份等;这些任务由注册中心的服务端完成(ser...原创 2019-09-02 23:32:43 · 463 阅读 · 0 评论 -
分布式RPC框架xxl-rpc的源码分析
目前版本:1.4.2-SNAPSHOT官网概述:XXL-RPC 是一个分布式服务框架,提供稳定高性能的RPC远程服务调用功能。拥有"高性能、分布式、注册中心、负载均衡、服务治理"等特性。现已开放源代码,开箱即用。一、rpc框架一般会提供的功能1、服务提供端(Provider)2、服务消费端(Invoker):通过生成代理对象,封装底层通信细节 完成类似“本地方法”的调用。3、注...原创 2019-09-05 08:18:54 · 1845 阅读 · 0 评论 -
Charset编码问题导致的中文乱码
环境:POST方法、Content-Type: application/x-www-form-urlencoded;charset=utf-8(key=val&key2=val2形式) 调用接口:commons-httpclient-3.1 服务接口:springboot-1.4.2.release/spring-web-4.3.4.release场景:通常在对接第三方...原创 2019-09-24 23:40:10 · 2593 阅读 · 0 评论 -
js面向对象(json对象、继承、面向对象拖拽)
案例1:json面向对象 · //json简单,不适合多个对象;整个程序中只有一个,写起来比较简单 var JSON = { name : 'LDW', qq : '20237199', showName :function(){ alert(this.name); }, showQq : function()原创 2017-07-18 14:54:01 · 591 阅读 · 0 评论 -
表格添加、删除某一行
window.onclick = function(){ var oTab = document.getElementById("tab1"); var aTr = oTab.tBodies[0].rows; var oBtn = document.getElementById("btn1");原创 2017-07-09 23:45:54 · 447 阅读 · 0 评论 -
js运动技术--多物体运动框架(变宽、变高、改变字体、改变border、透明度)以及替换offset的使用
案例1:变宽、变高、改变字体、改变border #div1,#div2,#div4{height: 200px;width: 200px;background: red;margin: 20px;float: left;left: 20px; top: 20px; border: 10px solid black;} #div3{height: 200原创 2017-07-13 15:36:22 · 505 阅读 · 0 评论 -
offset的bug
案:1: #div1 {height: 200px; width: 200px;background: red;border: 1px solid black;} setInterval(function(){ var oDiv = document.getElementById("div1"); oDiv.style原创 2017-07-13 14:36:27 · 256 阅读 · 0 评论 -
js运动技术--多物体同时运动
注意:每个物体需要单独使用一个定时器 div {height: 50px;width: 100px;background: red;margin: 10px;} window.onclick =function(){ var aDiv =document.getElementsByTagName("div");原创 2017-07-13 08:06:21 · 338 阅读 · 0 评论 -
js运动技术--匀速运动
#div1 {height: 200px;width: 200px;background: red;top: 50px;left: 0px;position: absolute;} window.onclick = function(){ var oBtn = document.getElementById("btn1"); var oDiv = document原创 2017-07-10 22:47:21 · 355 阅读 · 0 评论 -
js运动技术--右侧悬浮框!
目的让一个div悬浮框始终悬浮于页面右下脚: #div1{width: 100px;height: 150px;background: red;position: absolute; bottom: 0px;right: 0px;} window.onscroll = function(){ var oDiv = document.原创 2017-07-12 14:38:42 · 2911 阅读 · 0 评论 -
js运动技术--缓冲运动
#div1{height: 200px;width: 200px;background: red;position: absolute;top: 50px;left: 0px;} #div2{height: 600px;width: 1px;background: black;position: absolute;left: 300px;} window.oncli原创 2017-07-11 22:45:40 · 227 阅读 · 0 评论 -
表格排序
1、li排序:所用的基础知识:appendChild()方法的使用 #ul1{background: green;} #ul2{background: yellow;} window.onclick = function(){ var oUl1 = document.getElementById("ul1");原创 2017-07-10 14:05:49 · 173 阅读 · 0 评论 -
综合运用javaBean、servlet对数据库的查询、插入等操作
(数据库使用的是SQL server 2008)综合运用javaBean、servlet、对数据库的查询、插入等操作,将代码贴处理,以后需要时直接用就行了。综合应用。本实验采用MVC设计模式,通过数据源和DAO对象访问数据库。其中JavaBeans实现模型,访问数据库,Servlet实现控制器,JSP页面实现视图,分页功能实现。· 模型包括2个JavaBean:Boo原创 2017-04-24 14:56:50 · 12091 阅读 · 2 评论 -
通过 EL + servlet显示投票结果
1、投票界面 (index.jsp)应用EL表达式显示投票结果ul{ list-style: none;}li{ padding:5px;}您最需要哪方面的编程类图书? 基础教程类 实例集锦类 经验技巧类 速查手册类 案例剖析类 2、servlet 处理代码: (PollServlet.ja原创 2017-05-03 19:50:07 · 1103 阅读 · 0 评论