![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVAWEB相关
文章平均质量分 70
学习JAVAWEB时的一些理解
BRSblackshoot
这个作者很懒,什么都没留下…
展开
-
javaweb BaseServlet 自动封装数据并调用service方法
这篇笔记是学习web开发时基于反射和泛型的产物,实际开发时不需要去造这种轮子,仅供学习引入整个项目要以数据库的表为基准,有多少张表,就要有多少个实体类,在之前的开发中,我们都是单表开发,根据功能去拆分出多个servlet、service和dao。如图就是典型的单表开发,根据功能书写多个servlet、service和dao。但是现在有很多表,如果每个表都要根据功能去写servlet,整个项目就会很冗余,也很不直观。所以我们不应该根据功能去写dao\service\servle.原创 2021-07-25 00:05:03 · 542 阅读 · 1 评论 -
javaweb VUE+ElementUI 分页组件设置 后端部分
2 后端操作后端的准备工作和第一阶段时的分页写法相似,准备好实体类,dao和dao的实现类以及sql代码,service和service的实现类(如果没有什么复杂业务,那么service基本就是直接调用dao即可)以及最后要完成servlet其中差别最大的是sql代码,需要使用拼接来动态调整查询方式2.1 实体类首先是实体类,用于储存分页信息,但是相比第一阶段①“每页显示几条“,不再是固定值,而是由用户决定进而产生变化②实体类需要注解实现get方法,其他的均不用注解实现③实体原创 2021-07-26 09:46:04 · 244 阅读 · 0 评论 -
javaweb VUE+ElementUI 分页组件设置 前端部分
在前端页面上使用ElementUI实现分页组件分页 | Element1组件布局代码 :current-page="nowPage" 设置当前第几页的初始值,通常为1 :page-sizes="[3, 6, 9]" 设置一个下拉列表,给用户选择每页可展示的数据量 ...原创 2021-07-26 09:45:26 · 301 阅读 · 0 评论 -
关于前端 后端 数据库 时间的设置与传递
Java时间日期格式转换Date转String和String转Date - Sharpest - 博客园 (cnblogs.com)java和mysql之间的时间日期类型传递 - GaoAnLee - 博客园 (cnblogs.com)sql在储存时间+日期时 使用datetime 如果后端使用Date(sql或util均可) 那么可以正常储存 但是后端需要传给前端时 需要使用@jsonField转换格式如果后端使用util.Date 前端传值给后端没问题原创 2021-07-25 00:11:06 · 2847 阅读 · 0 评论 -
单元测试包junit报错 java.lang.NoClassDefFoundError
junit 单元测试报错:java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing_u011954243的博客-CSDN博客报错的原因是junit4.10之后的版本不能单独引入junit 需要连带着引入hamcrest-core-1.3包或者降低junit版本到junit4.10 ...原创 2021-07-26 09:46:50 · 398 阅读 · 0 评论 -
异步请求中前后端数据格式说明
1 后端发送给前端无论是哪种写法,无论是哪种回调函数,服务器那边封装数据都是封装为map集合,然后借助第三方jar包将集合转为字符串型json,最后以IO流传给前端——因为是异步请求,所以都是用IO流这种异步请求的返回方法,因此只能传递字符串。 而AXIOS提供的异步请求方法在参数列表接收到的数据都是xmlHttpResponse(响应对象),里面包含了配置信息config、数据data、响应头headers、请求头request、状态码status,实际使用时得从中取原创 2021-07-25 00:11:20 · 321 阅读 · 0 评论 -
关于request和response的cookie大小不等的说明
如图,可以看到服务器发送给浏览器的cookie和浏览器保存起来的cookie尺寸不等。 可以直接给出结论:两者总是相差2个字符这是因为服务器发送过来的cookie包含了分号和空格,浏览器储存时会将这两类字符去掉,每个cookie都会因此减少两个字符如果以后去做cookie解析,这个长度需要考虑到...原创 2021-07-26 09:38:14 · 144 阅读 · 0 评论 -
javaweb VUE+ElementUI 文件上传 前端部分
Upload 上传 | Element上传文件的方式很多,我们只说其中一种常见的。如果前端的文件的上传是同步请求,那么就要求用户填写完表单信息后将表单信息连带文件一起上传,在用户提交表单信息前,文件一直处于未上传状态,当用户提交信息时还得等待文件上传,前端功能不太友好。所以我们可以把文件上传和普通表单提交的流程分开,通过工具把文件单独上传到服务器(异步上传),并在页面接收存储的地址(相对路径),用户填完数据提交表单时,文件已上传,只需要提交普通表单即可。事实上下面使用的VUE+ElemenU原创 2021-07-26 09:41:10 · 419 阅读 · 0 评论 -
javaweb VUE+ElementUI 文件上传 后端部分
1文件上传在很多业务场景,用户都需要上传头像、证件照以及其他文件。文件上传就是用户通过浏览器选择需要上传的文件并将文件传输至网站服务器上的一个过程文件上传需要对请求中传的的文件流进行解析,一般会使用第三方jar包对文件流进行解析1.1 实现步骤文件上传不同于常见的form表单数据提交,后端servlet不能直接从HttpServletRequest中取到文件,需要进一步解析请求头。直接对request使用getParameter提取数据什么也取不到,要借助第三方jar包...原创 2021-07-26 09:43:24 · 943 阅读 · 0 评论 -
javaweb AXIOS的post请求方式测试
后端servlet使用了反射方法,能自动读取前端传输的json对象中约定好的一个叫type的键值对的值 然后自动执行和这个值同名的方法 前端传输的json对象 后端会被调用的方法 现在前端分别使用AXIOS.post的两种数据书写格式进行传输 格式一 格式二 ...原创 2021-07-26 09:39:23 · 235 阅读 · 0 评论 -
异步请求只能使用IO流传输的原因
原生的AJAX实现中,使用了一个对象——XMLHttpRequest后面我们在写AJAX时,都是基于上层框架去实现,但是框架的核心依然是这个对象——XMLHttpRequest我们都需要实例化XMLHttpRequest对象,在这个对象中设置属性,基于这个对象的responseText方法发送数据给服务器所以异步请求其实是基于一个对象去实现的,无论是发送数据还是接收数据,都基于这个对象。如果要进行请求转发和重定向,需要改变页面的URL——而这是一个对象无法做到的。这个对象只能单纯的进原创 2021-07-26 09:37:51 · 106 阅读 · 0 评论 -
动态获取方法参数表中需要的实体对象的全类名
1 理清整个封装的思路首先在循环判断中,我们做的操作就是一一识别方法的参数表各个位置上需要的都是什么数据类型,Class对象指向方法的参数表上的各个位置 如果是请求头就给请求头,如果是响应头就给响应头,如果是实体类就给实体类对象,如果是其他的情况就躺平吧,这个servlet封装方法还做不到面对那么复杂的情况,需要使用spring的四个包进行辅助,在这里先不说了。分析现状所以现在我们默认处理的方法参数列表中,只有请求头、响应头、实体类。但是一般请求头和响应..原创 2021-07-25 00:03:14 · 429 阅读 · 0 评论 -
自动封装请求头中的数据
封装json数据 自动将json存入对应的实体类前端除了传递请求类型,一般还会传递数据,比如将用户在页面表单填写的数据以json格式传给后端用于增删改查。例图:VUE基于AXIOS实现异步请求,将json对象传给后端,json对象中存有请求类型type以及用户提交的表单数据注意:该图仅用于说明json对象需要传递,下面说明文章主题时举例的是“修改”,不是这里图中的“添加”传统的写法:①在servlet中使用switch-case分配方法,此时与前端对接的servlet只是将编原创 2021-07-25 00:02:42 · 322 阅读 · 0 评论 -
javaweb 自动封装请求头中的数据到指定实体类中
在编写添加数据的方法时,我们需要根据sql的添加语句中需要的"?"去获取request请求中传过来的数据,先用set方法将其放在对象中,然后再到daoimpl下使用get方法调出数据传给sql语句。根据添加语句的不同,我们就要不断的去改这个过程中使用的set/get以及对象的成员变量,就会产生许多的可能。这一切都是重复的,近机械的操作。因此就生发出“如果java能自动将我请求头中传输的所有数据都存到指定的对象中就好了” 的想法,这样就简化了使用set函数的环节。实际上是可以实现上面说的想原创 2021-07-25 00:01:24 · 700 阅读 · 0 评论 -
web项目的包管理
1根目录在往后说之前,我们先说一下什么是根目录所谓根目录指的就是项目配置到tomcat时的目录,项目中设置的方式如图: 获取项目根目录的方法如下: request . getContextPath() 获得项目在服务器中的根目录,返回类型为字符串 使用代码如下: 获得的path与设置的相符: ...原创 2021-07-26 09:48:17 · 289 阅读 · 0 评论 -
对cookie的一些研究
1.关于cookie对象的创建cookie在实例化时只有一个有参构造函数,cookie没有set函数,只能通过这个有参构造进行键值对的设置在将key和value存入cookie对象之前,会先进行验证:如果之前有同key的cookie,会进行一个覆盖。如果key输入不合法,例如为空则报异常2.request.getCookies();的实现原理每个页面除了可能存在的由程序员设置的cookie对象外,还有一个必定存在的页面自带的cookie——JSESSIONID,由服务器自原创 2021-07-24 17:21:48 · 224 阅读 · 0 评论 -
涉及到添加用户(注册)的功能时,不能使用请求转发,只能使用重定向
一句话概括原理:请求转发会导致功能模块的地址依然是注册的页面,只是展示的内容是其他页面的内容,刷新页面时重载的不是其他页面,而是注册的页面,就会导致注册页面中所有的方法——包括新增用户会被重复执行。实例:请求转发时,页面内容是showUser(新页面)的内容,但是地址栏还是saveUser(旧页面)的地址,此时执行页面刷新时,地址栏是旧页面的地址,就会被重复进入saveUser,而此时请求头中依然存在表单提交的数据,就会导致数据重复提交doGet不会提示,直接重复提交数据doPos..原创 2021-07-24 17:17:51 · 265 阅读 · 0 评论