web
文章平均质量分 53
DanceDonkey
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Axios跨域请求携带cookie
如当前访问的域是10.99.160.11 :8080 这个端口,那么当向10.99.160.11 :8080 这个端口发请求时,由于不存在跨域,则可以顺利携带cookie,但是当向 10.99.160.11 :9100这个端口发请求时,此时发生了跨域,当发生跨域请求时,默认是不能携带cookie的,此时需要设置axios的withCredentials :配置项。但是使用axios发起跨域请求时,需要设置withCredentials:true 配置属性才能生效。原创 2023-06-06 17:48:28 · 3281 阅读 · 1 评论 -
Tomcat抛出ClientAbortException后导致IO流无法关闭问题
在Java中,使用URL类发送http请求时,如果调用的是一个文件下载接口,而此接口返回的文件数据较大时,如果客户端突然关闭连接,则HttpServletResponse的输出流在写数据的时候会抛出一个ClientAbortException。这个时候是可以通过异常堆栈信息看到到底是哪一行出的错的。方法里面报了错之后,后面的代码就不会执行了。当outputStream在输出时,如果抛出异常,则代码块中的后续close操作没有被执行,而正式因为没有被执行,导致一个输入流维护的http socket一直阻塞。原创 2023-06-01 15:35:21 · 907 阅读 · 0 评论 -
Http 响应头 Transfer-Encoding : chunked 导致 浏览器客户端请求错误问题
首先通过增加日志打印,排查方法的哪一步出现了问题,因为9200的tomcat服务器所有的静态资源是可以正常返回的,这排除了服务器问题,比较离奇的时候,所有的日志打印地方都可以正常输出,可以正常请求到sdd.com的结果,但是就是返回不了数据,这一步至少确定了 从9200发送sdd.com是没问题的。在cal.com上线后,用户发起请求,发现9200端口上的静态页面请求可以返回,而ajax请求数据无法返回,所有的ajax请求是做了代理的,代理到了sdd.com。这就导致匹配不起来了。原创 2023-05-11 15:58:38 · 5136 阅读 · 2 评论 -
SpringBoot异常重定向/error问题
但是注意,这里捕获的是RuntimeException,如果程序里抛出的是Exception,那就完蛋了,此时SpringMVC就找不到合适的异常处理方法了,只能是自己接管处理,此时springmvc会请求转发到/error,这个error路径有可能会被我们写的拦截器给拦截到,进而造成一些其他异常。SpringBoot 编写了全局异常处理器以后 发送请求报错。原创 2023-05-09 15:26:40 · 1548 阅读 · 0 评论 -
Cookie跨域存储问题
单点登录模式,如果是前后端分离,则暴露前端地址,检测跳转的前端地址中有没有指定的token,如果有则存储token并放行,如果没有,则校验cookie或sessionStorage中有没有,有则放行,没有则重定向到sso统一登录页面进行登录,并且传递服务器的地址,登录成功后跳转至服务器,服务器校验后重新重定向到前端地址,如果直接访问服务器地址,则还是校验有没有携带token,如果有,继续校验,没有检测请求头或者cookie,都没有则重定向到sso统一登录页面。可通过chrome插件调整。原创 2022-09-09 16:33:32 · 3391 阅读 · 0 评论 -
vue3脚手架配置开发环境和生产环境的url
编写一个统一的配置文件开发环境和生产环境可配置两个js文件,在config.js统一判断一下当前环境其他需要用到配置环境的地方可以引入config.js,如axios最后需要在package.json文件中奖build命令 添加参数vue-cli-service build --mode production 指定在打包时读取.env.production配置文件,通过读取这个配置文件,遍可以修改打包后的process.env对象的值。...原创 2022-07-06 09:44:07 · 1472 阅读 · 0 评论 -
nginx配置反向代理以及负载均衡
nginx相关命令1.启动niginxnginx 2.停止nginxnginx -s stop3.重新加载nginx配置文件nginx -s reloadnginx配置文件全局块配置(主要配置nginx运行的全局参数如worker进程数)events块配置 (主要配置工作进程相关参数,如每个worker进程的最大连接数)http块配置(可配置与http请求相关,如允许的响应内容类型,客户端请求体最大字节数等 )server块配置(一个http块可配置多个s.原创 2022-05-08 09:53:30 · 3193 阅读 · 0 评论 -
【源码分析】SpringMVC-DispatchServlet初始化
发现DispathcheServlet中没有init方法,最终在HttpServletBean中找到了init方法,在init方法中调用了initBeanWrapper,而在该方法中调用了initWebApplicationContext,得到了一个ioc容器,具体研究一下这个方法即可。紧接着调用了本类的onRefresh方法,由于创建的是DispatchServlet,那么来到该类的这个方法,关键的核心就是在这,DispatcherServlet拿到容器以后,从容器中获取了各种组件,并进行了初始化。...原创 2022-07-19 21:42:59 · 279 阅读 · 0 评论 -
Centos将SpringBoot程序注册为linux服务
注册为linux服务,其实就是在/usr/lib/systemd/system目录下创建关于该应用程序的一个启动脚本,然后将可以通过systemctl命令来对其管理。进入到Linux的服务目录cd /usr/lib/systemd/system创建jar包服务对用的服务文件vim bootApp.service文件内容[Unit]Description=bootAppAfter=syslog.target[Service]ExecStart=/usr/bin/jav..原创 2021-10-17 13:48:41 · 576 阅读 · 0 评论 -
IDEA2021创建Web工程
创建项目选择项目位置右键项目,点击 add frameword完成以后有了基本的项目结构集成Tomcat将web项目的输出目录改为tomcat的webapps目录下添加部署项目,并设置context-path (这一步是在tomca的conf目录下的catalina目录下的localhost目录下创建xml文件,这个xml文件指定了项目的工程路径以及磁盘位置)启动项目后,成功访问到了index.jsp...原创 2021-09-21 13:11:30 · 987 阅读 · 0 评论 -
HttpSession实现的技术内幕
Session通常用来保存客户端与服务器本次会话过程的一些数据,例如用户信息等,Session是保存在服务端的。Session如何为每个客户端都能保存不同的数据?当程序调用request.getSession()方法时,会看当前请求有没有携带一个叫JSESSIONID的cookie,如果有这个值(相当于客户端的身份证),则服务器就会根据这个值,找到其对应的Session信息。这个JESSIONID从何而来?客户端第一次调用request.getSession()方法时,在响应的时候会创建一个co原创 2021-09-20 21:43:40 · 155 阅读 · 0 评论 -
Servlet文件下载
文件下载可能会出现的几个问题浏览器只根据相关内容类型展示,而不进行下载。此时需要在响应头中设置Content-Disposition,attachment;filename=xxx.xxx;告诉浏览器接收到响应以后进行下载,如果没有这个响应头,浏览器只负责根据响应的内容进行展示。而不会进行下载。附件名中若包含中文字符,则会出现乱码情况,此时需要将附件名按utf8编码,转为%xx%xx十六进制格式。 @Override protected void doGet(HttpSer原创 2021-09-20 17:25:16 · 356 阅读 · 0 评论 -
Servlet文件上传
<form action="s6" enctype="multipart/form-data" method="post"> 姓名<input type="text" name="username"> <br> 头像<input type="file" name="photo"> <button>提交</button></form>文件上传需要将form表单的enctype属性设置为multip原创 2021-09-20 16:52:42 · 244 阅读 · 0 评论 -
ServletConfig与ServletContext
ServletConfig在继承了HttpServlet类后,可以通过getServletConfig方法获取当前servlet的一些信息,如servlet别名,servlet的init-param等 <servlet> <servlet-name>ServletConfig1</servlet-name> <servlet-class>com.cn.app.service.ServletConfigTest</原创 2021-09-19 22:01:35 · 235 阅读 · 0 评论 -
ResponseEntity作为的返回值的应用
通常如果后端想响应json数据,我们需要在方法体上添加@Response注解,标注这个注解的方法的返回值会被spingmvc转为json形式并写入到响应体中。但ResponseEntity则不会被springmvc转换,可以使用这个类定义响应头,状态码,响应体等。@Controllerpublic class ResponseBodyTest { @ResponseBody @GetMapping("b1") public R b1(){ //将方法的返回值转为原创 2021-01-06 15:08:41 · 3606 阅读 · 0 评论 -
SpringMVC下载图片,计算出图片的大小
@GetMapping("/pic") public void pic(HttpServletResponse response) throws IOException { int total = 0; response.setContentType("image/jpeg");//设置输出流内容格式为图片格式 response.setCharacterEncoding("utf-8");//response的响应的编码方式为utf-8 .原创 2020-12-17 14:46:14 · 198 阅读 · 0 评论
分享