Jmeter的思考时间和集合点 1.思考时间--Jmeter通过定时器实现定时器的作用域1、定时器是在每个sampler(采样器)之前执行的,而不是之后(无论定时器位置在sampler之前还是下面);2、当执行一个sampler之前时,所有当前作用域内的定时器都会被执行;3、如果希望定时器仅应用于其中一个sampler,则把定时器作为子节点加入;4、如果希望在sampler执行完之后再等待,则可以使用Test...
Jmeter函数助手_CSVRead函数 1)打开函数助手对话框,选择_CSVRead函数2)在本地生成一个csv文件(txt也可以),与loadrunner不同的是参数化文件里没有文件列名,如下:3)输入文件路径。csv文件列号默认为1,实际函数在取值的时候应该为0,对应第一列输出的时候是字符串,需要加上双引号线程组设置为4,默认依次取第一列的4个值...
Jmeter中各种参数化设置的方法 Jmeter中有较多需要参数化测试的地方:1.从一个用户登录的接口获取登录后的token值,取值后用于后续接口调用2.获取用户浏览后的cookies信息,需要用到HTTP Cookie 管理器来为同一线程组提供通用的cookies信息Jmeter中通过${}形式来取参数值当取值为变量,${变量名}当取值为函数,${_函数名(参数1,参数2,参数3)}json中和pa...
Jmeter基本的请求发送和关联 1.发送application/json格式的post请求首先添加测试计划-线程组-HTTP请求的sample(这些基本的不说了)需要指定请求的格式得添加个HTTP消息头管理器如下HTTP请求这里的Body Data写JSON数据2.关联token登陆成功后会返回一个token,进行后续操作需要登陆用户的权限,这时候就需要把token从登陆操作的响应中提取出来,下次发请求的...
GitHub的版本回退 在pycharm上手残push了两个一样的版本= =如果我的GitHub客户端没删的话。。。打开GithubForWindows进入到需要回退的项目主页,在History里选中要回退的某个版本,点击右侧的“rollback”按钮这时在下方就会提示一个“UNDO”的撤销操作,代表已经成功回退到某个版本了只能本地乖乖敲git命令哎查询历史对应不同版本的ID ,用于回退使用git l...
git初次提交-python自动化测试项目 安装Git后首先要做的事情是设置你的用户名称和e-mail地址。这是非常重要的,因为每次Git提交都会使用该信息。它被永远的嵌入到了你的提交中:$ git config --global user.name "cm" #名称$ git config --global user.email 1223114308@qq.com #邮箱因为是要把代码扔GitHub的所以还需要用ssh连...
python-生成HTMLTestRunner测试报告 import HTMLTestRunnerimport unittestimport os,timelistaa = "E:\\selenium_python2\\test_case"def createsuite1(): testunit=unittest.TestSuite() discover=unittest.defaultTestLoader.discove...
monkey 命令 Monkey是命令行工具,用来发送伪事件,是Android自动化测试的一种手段,模拟用户的按键输入,触摸屏输入,手势输入等,测试软件的稳定性,健壮性。号称最快速有效的方法。环境搭建(略,Android SDK)1. 查看设备号:adb devices(-s 机器号 可针对单一机器)2. 查看被测试应用程序包名:① adb devices --> adb -s 机器号 sh...
Linux下查看日志文件命令 当日志文件存储日志很大时,我们就不能用vi直接进去查看日志,需要Linux的命令去完成我们的查看任务当日志文件存储日志很大时,我们就不能用vi直接进去查看日志,需要Linux的命令去完成我们的查看任务Log位置: /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一 /var/log/secure 与安全相关的日志信息 ...
python 的特殊方法 __str__和__repr__ __str__和__repr__如果要把一个类的实例变成 str,就需要实现特殊方法__str__():class Person(object): def __init__(self, name, gender): self.name = name self.gender = gender def __str__(self): ...
selenium(二) js的应用用以更改元素的样式和属性public void jsDemo() { WebDriver driver=new ChromeDriver(); driver.get("https://www.baidu.com"); JavascriptExecutor js=(JavascriptExecutor) driver; js.executeScript("docu...
selenium(一) 环境搭建selenium-server-standalone.jar的下载地址http://selenium-release.storage.googleapis.com/index.html使用chrome浏览器需要下载对应版本的chromedriver驱动文件,firefox的不用下驱动但是selenium版本跟浏览器有对应要求http://chromedriver.stora...
CentOS7-java测试环境yum安装(java+tomcat+mysql) 下面的安装过程都是比较简单化的,看了一个视频但是由于centos版本变更里面很多命令都不适用了,也花了很长时间查什么命令能在centos7上跑。刚接触Linux不久还是小白,如果看到文中有见解错误,欢迎不吝指出jdk安装yum install java*验证 java -versionTomcat安装yum install tomcat*启动服务systemctl ...
linux基础环境搭建 1.yum安装相关包yum install gcc zlib-devel openssl-devel gcc+ gcc-c++ openssl perl wget lrzsz vim2.编译安装pcrehttps://www.cnblogs.com/LiuYanYGZ/p/5903954.html解压pcre包cd pcre-8.37 ./configure --pre...
性能测试基础 一.分类1.负载测试 两种情况: 1. 侧重于确定当前测试中的系统或者应用软件在工作负载条件下,或者在实际运行阶段加载预期的容量时,系统或应用所具备的相关性能特性。(预期产品会有五万的用户并发数,那就加压五万看各项性能指标的表现) 2.通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标下,系统所能承受的最大负载量。(看响应时间在0.5s内时允许的最大用户数)...
mysql视图 对于复杂的查询,在多个地方被使用,如果需求发生变化,需要更改sql语句,则需要在多个地方进行修改,维护起来非常麻烦解决:定义视图视图的本质就是对查询的封装定义视图建议以v_开头mysql提供了用于显示视图定义的SHOW CREATE VIEW语句,我们来看下语法结构:SHOW CREATE VIEW [database_name].[view_ name];要显示视图的...
Mysql中的关联查询(内连接,外连接,自连接) 在使用数据库查询语句时,单表的查询有时候不能满足项目的业务需求,在项目开发过程中,有很多需求都是要涉及到多表的连接查询,总结一下mysql中的多表关联查询一,内连接查询是指所有查询出的结果都是能够在连接的表中有对应记录的。以t_employee(员工表)和t_dept(部门表)为例:t_employee表中的记录如下:dept代表该员工所在的部门t_dept表中记录如下:...
linux下杀死进程 1.查进程 ps命令查找与进程相关的PID号: ps a 显示现行终端机下的所有程序,包括其他用户的程序。 ps -A 显示所有程序。 ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。 ps -e 此参数的效果和指定"A"参数相同。 ps e 列出程序时,显示每个程序所使用的环境变量。 ps f 用ASC...
linux命令 Linux发现历程unix->minix->linux命令行程序终端 terminalcd 切换文件夹cd /home 绝对路径 以根目录开头cd admin 相对路径 不以根目录开头cd .. 返回上级目录cd ~ 到自己家的目录 /home/admincd - 电视回看功能pwd 查看当前目录ls 查看目录的内容lsls -...
测试工程方法:等价类划分法 等价类划分,指的是一种典型的、重要的黑盒测试方法。其就是解决如何选择适当的数据子集来代表整个数据集的问题,通过降低测试的数目去实现合理的覆盖,以此来发现更多的软件缺陷。概述 等价类划分法将程序所有可能的输入数据(有效的和无效的)划分成若干个等价类。然后从每个部分中选取具有代表性的数据当做测试用例进行合理的分类,测试用例由有效等价类和无效等价类的代表组成,从而保证测试用例具有完整性和代表性...
软件测试流程及对象 软件测试流程1.需求分析(1)当前阶段的核心目的就是梳理清楚我们 需要测什么(2)需求的来源:需求规格说明书、API文档、竞品分析、个人经验2.设计用例3.评审用例4.配置环境5.执行用例6.回归测试及缺陷跟踪7.输出测试报告 将当前的测试过程中产生的数据进行可视化的输出,方便其他人去查看8.测试结束 将整个测试过程中产生的一些文档进行整理归档 ...
软件质量 描述当前软件是否好用,再当前的软件行业里我们所采用的一套标准是基于ISO组织制定的,需要我们记忆的就是软件质量的六大特性:1.功能性:软件需要满足用户显式或隐式的功能2.易用性:软件易于学习和上手使用3.可靠性:值得就是软件必须实现需求当中指明的具体功能4.效率性:类似于软件的性能5.可维护性:要求软件具有将某个功能修复后继续使用的能力6.可移植性:当前软件可以从一个平台一...
测试用例方法的选择 通常在确定测试方法时,有以下几条参考原则:(1)拿到一个测试任务时,先关注它的主要功能和业务流程,业务逻辑是否正确实现,考虑使用场景法(2)需要输入数据的地方,考虑采用等价类划分法,包括输入条件和输出条件的等价划分,将无限测试变成有限测试(3)在任何条件下都必须采用边界值分析法,这种方法设计出的测试用例发现错误的能力最强(4)如果程序的功能说明中含有输入条件的组合情况,则一开始就应...
webservice学习 1.Web service是什么?1.基于Web的服务:服务器端整出一些资源让客户端应用访问2.一个跨语言、跨平台的规范(抽象)3.多个跨平台、跨语言的应用间通信整合的方案(实际)2.为什么要用Web service跨平台调用跨语言调用远程调用3.什么时候使用1.同一家公司的新旧应用之间2.不同公司的应用之间 分析业务需求:天猫网与中通物流系统如...
jedis基本使用 maven引入:jedis.jar,apache common-pool2.jar<!-- https://mvnrepository.com/artifact/redis.clients/jedis --><dependency> <groupId>redis.clients</groupId> <artifactId...
sourceTree 添加 ssh key 方法 1.使用 git 客户的生成公私钥:id_rsa、id_rsa.pub1.1设置Git的user name和email:$ git config --global user.name "xxx"$ git config --global user.email "xxx.mail@xxx.com"1.2.生成SSH密钥过程: 1.2.1.检查是不是已经存在密钥(能进去说明已经存在,就...
项目小结 学完五大框架,上手跟着慕课视频做个项目练手https://coding.imooc.com/class/144.html#Anchor刚做完1.0,对跟着老师学习到的实用技术做个小结上传图片的处理(调用Thumbnails生成带有水印的图片)下载thumbnailator-0.4.8.jar实体类ImageHolder封装上传文件的名字(后面需要获取格式扩展名时用到)和输入流...
Available parameters are [arg1, arg0, param1, param2] Mybatis 多参数传递的时候遇到问题。例如public List<User> getUserByParam(User user,Integer pageNo,Integer pageSize);Parameter 'user_name' not found. Available parameters are [2, 1, 0, param1, param2, para...
springMVC restful风格 RESTful简介1.REST架构是一个抽象的概念,目前主要是基于HTTP协议实现,其目的是为了提高系统的可伸缩性,降低应用之间的耦合度,便于框架分布式处理程序。2.REST主要对以下两方面进行了规范-定位资源的URL风格,例如 http://baidu.com/admin/1234 http://baidu.com/admin/1234/10/11-如何对资源操作 采...
springboot全局异常处理 页面跳转形式@ControllerAdvice 使一个Contoller成为全局的异常处理类,类中用@ExceptionHandler方法注解的方法可以处理所有Controller发生的异常@ControllerAdvicepublic class IMoocExceptionHandler { public static final String IMOOC_ERROR_VI...
Springboot整合异步任务 Springboot异步执行使用场景发送短信 发送邮件 App消息推送 节省运维凌晨发布任务时间提供效率Springboot异步执行程序 使用注解@EnableAsync开启异步,会自动扫描 定义@Component @Async作为组件被容器扫描执行@SpringBootApplication//扫描 mybatis mapper 包路径@MapperScan(base...
Springboot整合定时任务task 使用注解@EnableScheduling开启定时任务,会自动扫描 定义@Component作为组件被容器扫描 表达式生成地址:http://cron.qqe2.com@SpringBootApplication//扫描 mybatis mapper 包路径@MapperScan(basePackages = "com.imooc.mapper")//扫描 所有需要的包, 包含一些自...
Springboot拦截器的简单演示 Springboot拦截器和SpringMVC差不多,就是配置方面有点区别使用注解@Configuration配置拦截器 继承WebMvcConfigurerAdapter 重写addInterceptors添加需要的拦截器地址public class OneInterceptor implements HandlerInterceptor { /** * 在请求处理之前进行...
Springboot整合MyBatis https://github.com/abel533/MyBatis-Spring-boot项目依赖 <!--mybatis --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-sprin...
springboot局部及全局异常处理 局部异常处理对TestController类进行操作(1)、创造异常点如果设置一个变量=整数/0,则会发生ArithmeticException异常在TestController中加入除0异常点@RequestMapping("/hello1")public String hello(){// 自己编写的除0异常int a=1/0;return "hello...
Thymeleaf标签整理 1、简单表达式变量表达式 ${... ...}<input type="text" name="userName" value="James Carrot" th:value="${user.name}" />上述代码为引用user对象的name属性值选择/星号表达式*{*** ***}<div th:object="${session.user}&q
springboot整合freemarker和thymeleaf 整合freemarker<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-freemarker --> <dependency> <groupId>org.springframework.boot</groupId>...
SSM框架的基本jar包 <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <spring.version>4.3.18.RELEASE</spr...
MyBatis逆向工程 mybatis需要程序员自己编写sql语句,mybatis官方提供逆向工程,可以针对单表自动生成mybatis执行所需要的代码(mapper.java、mapper.xml、pojo…),可以让程序员将更多的精力放在繁杂的业务逻辑上。Mybatis逆向工程生成的Mapper所进行的操作都是针对单表的,也许你可能会觉得那这就有点鸡肋了,但是在大型项目中,很少有复杂的多表关联查询,所以作用还是很大...
Mybatis处理列名—字段名映射(一) — 驼峰式命名映射 在上篇博客-[JDBC] 处理ResultSet,构建Java对象中提到,我们需要分析Mybatis在转换Result到需要的Java业务对象时做的三件事,如下:1. 解决了数据库列名到Java列名的映射。2.解决了数据库类型到Java类型的转换工作。3.在转换过程中具备一定的容错能力。其实核心就是:1.数据库中的列名怎么和对象中的字段对应起来。2.数据库中的列的类型怎么转...
swagger2常用注解说明 转自:https://blog.csdn.net/u014231523/article/details/76522486说明: 1.这里使用的版本:springfox-swagger2(2.4)springfox-swagger-ui (2.4) 2.这里是说明常用注解的含义和基本用法(也就是说已经对swagger进行集成完成) 没有集成的请参见 SpringBoot集成springfo...
springboot返回json 对返回的json做一些额外的封装: /** * @Description: 自定义响应数据结构 * 这个类是提供给门户,ios,安卓,微信商城用的 * 门户接受此类数据后需要使用本类的方法转换成对于的数据类型格式(类,或者list) * 其他自行处理 * 200:表示成功 * 500:表示错误,错误信息在msg字段中 * 501:...
存入数据库中文乱码问题 做项目出现了一个小问题,就是当修改、添加店铺信息时,数据存入数据库变成了乱码 后来发现时jdbc.properties写漏了东西: jdbc.jdbcUrl=jdbc:mysql://localhost:3306/o2o?useUnicode=true&characterEncoding=utf8 ...
宝塔部署java web项目完整教程 转自https://blog.csdn.net/m0_37654893/article/details/79198414宝塔部署javaweb项目完整篇,给想要使用宝塔部署java web项目的人一些参考,觉得不错的可以在下方留言点赞哦,有错误的地方也请大家帮忙指出,发消息给我吧,我好修改。1.首先,登录宝塔面板(安装就不说了,官网都有,安装时只需要注意你的服务器的端口有么有打开,比如...
@RestController与@Controller区别 @RestController是@ResponseBody + @Controller合体,当你在这个controller中方法只是想返回一个页面时,就不能用@RestController,因为它会把你的返回值当作数据返回,而不是页面名字,所以这时候就只能用@Controller。如:@RestControllerpublic class HomeController { @R...
mybatis中mapUnderscoreToCamelCase自动驼峰命名转换 ssm项目中在mybatis配置文件中添加以下配置,可以将数据库中user_name转化成userName与实体类属性对应,如果数据库使用如user_name的命名方式,实体类采用驼峰命名。配置后无需写resultMap将数据库字段和实体类属性对应<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuratio...
MyBatis中的一级缓存和二级缓存介绍 https://blog.csdn.net/weixin_36380516/article/details/73194758先说缓存,合理使用缓存是优化中最常见的,将从数据库中查询出来的数据放入缓存中,下次使用时不必从数据库查询,而是直接从缓存中读取,避免频繁操作数据库,减轻数据库的压力,同时提高系统性能。 一级缓存一级缓存是SqlSession级别的缓存。在操作数据库时需要构造s...
MyBatis(3) 对象关系映射1.多对一 案例:多个员工对象属于同一个部门对象employee表 id name dept_id 1 Lucy 10 2 Will 10 3 Lily 10 department表id name 10...
MyBatis(2) 1.保存操作<insert id="insertUser" parameterType="user" useGenerateKeys="true" keyProperty="id"> insert into user(username,birthday,sex,address) values(#{username},#{birthday},#{sex},# {addr...
MyBatis(1) 1.ORM思想对象关系映射(Object Relational Mapping,简称ORM):是一种为了解决面向对象与关系型数据库存在的互不匹配的问题的技术。简单的说,ORM通过使用描述对象和数据库之间映射的元数据,将Java程序中的对象自动持久化到关系数据库中。ORM主要解决对象-关系的映射:面向对象概念 面向关系概念-----------------...
logback Slf4j,LogBack,Log4j之间的关系 slf4j 是The Simple Logging Facade for Java的简称,是一个简单日志门面抽象框架,它本身只提供了日志Facade API和一个简单的日志类实现,一般常配合 Log4j , LogBack , java.util.logging 使用。Slf4j作为应用层的Log接入时,程序可以根据实际应用场景动态调...
动态代理 代理模式:客户端直接使用的都是代理对象,不知道真实对象是谁,此时代理对象可以在客户端和真实对象之间起到中介的作用。1.代理对象完全包含真实对象,客户端使用的都是代理对象的方法,和真实对象没有直接关系;2.代理模式的职责:把不是真实对象该做的事情从真实对象上撇开---职责清晰; 静态代理:在程序运行前就存在代理类的字节码文件,代理对象和真实对象的关系在运行前就确定了。动态代理:动态代...
Spring+Druid连接池 需要的依赖: <!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc --> <dependency> <groupId>org.springframework</groupId> <artifactId>sprin...
Spring测试框架 传统测试存在的问题1.每个测试都要重新启动Spring,启动容器的开销大,测试效率低下2.不应该是测试代码管理Spring容器,应该是Spring容器在管理测试代码3.不能正常关闭Spring容器,Spring容器生命周期非正常退出如何使用Spring的测试框架:<dependency> <groupId>junit</groupI...
Springboot的热部署 https://blog.csdn.net/xc_wt/article/details/78656620所谓的热部署:比如项目的热部署,就是在应用程序在不停止的情况下,实现新的部署而Springboot在我们每次修改完代码之后,可能只是修改下打印的信息,就得重新启动App类,这样太浪费时间,有没有一种修改完代码让程序自动重启的方法呢,答案是有的:spring-boot-devtools...
springboot是什么及使用 https://blog.csdn.net/qq_31655965/article/details/71258191 1. 什么是springbootSpring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于...
手把手教你如何玩转Solr(包含项目实战) https://blog.csdn.net/cs_hnu_scw/article/details/79388080一:Solr简介 Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。...
Lucene就是这么简单 https://blog.csdn.net/Java_3y/article/details/79608367什么是Lucene??Lucene是apache软件基金会发布的一个开放源代码的全文检索引擎工具包,由资深全文检索专家Doug Cutting所撰写,它是一个全文检索引擎的架构,提供了完整的创建索引和查询索引,以及部分文本分析的引擎,Lucene的目的是为软件开发人员提供一个简单易...
RedisTemplate缓存用法小记 https://blog.csdn.net/wxx151556/article/details/784931471、下载一个客户端:Redis Desktop Manager2、redis的引用包:<dependency> <groupId>org.springframework.data</groupId> <artifac...
为什么要使用redis 1、 redis简介 redis是Nosql数据库中使用较为广泛的非关系型内存数据库,redis内部是一个key-value存储系统。它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)和hash(哈希类型,类似于Java中的map)。Redis基于内存运行并支持持久化的NoSQL数据库,是当前最热门的No...
本机RedisDesktopManager连接云服务器的redis linux系统被安装在云服务器上,redis也在上面,redis管理的软件在本机所以需要连接上去在宝塔Linux面板中打开redis,在配置修改那里修改几处配置 将bind从本机改成0.0.0.0在requirepass那里设置自己的密码 将daemonize no改为yes 注意:云服务器和宝塔面板都要放行6379端口 Host填云主机ip,A...
字符char 一个16位Unicode码占两个字节,用以\u开头的4位十六进制数(0~9+A~F 一个数是4bit)表示,范围从\u0000到\uFFFF,65536个字符(几乎所有) 大多数计算机采用ASCII码,它是表示所有大小写字母、数字、标点符号和控制字符的8位编码表(128个字符) Unicode码包括ASCII码,从\u0000到\u007F对应128个ASCII码 常用字符的ASCII...
hibernate开启二级缓存 开启二级缓存需要导入三个jar包,还有一个配置文件到资源根目录下ehcache.xml:<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd"> <!-- 缓存数据...
Spring的事务管理 上一篇文中通过自己定义的一个切面类TransctionManager作为事务管理器来实现对事务(增删改)的管理AOP思想与开发但是在实际应用中我们都是使用spring容器中的事务管理器:Spring 的事务管理,主要用到两个事务相关的接口(1)事务管理器接口 事务管理器是 PlatformTransactionManager 接口对象。其主要用于完成事务的提交、回滚,及获取事...
AOP思想与开发 AOP思想1.从OOP到AOP在开发中,为了给业务方法增加日志记录、权限检查、事务控制等功能,此时我们需要去修改业务方法代码,考虑到代码的复用性。我们可以考虑使用OOP的继承和组合来消除重复,但是无论怎么样,我们都会在业务方法中纵向地增加这些功能方法的调用代码。此时,既不遵循开闭原则,也为后期系统的维护带来很大的麻烦这些零散存在于业务方法中的功能代码,我们称之为横切面...
struts的contextMap Struts2的官方文档对contextMap的说明: 说明: 动作类的生命周期明确:动作类是多例的,每次动作访问,动作类都会实例化。所以是线程安全的。与Struts1的区别是,struts1的动作类是单例的。请求动作的数据存放在每次动作执行前,核心控制器StrutsPrepareAndExecuteFilter都会创建一个ActionContext和ValueStack对象。...
SpringMVC与前台的json数据交互 http://blog.csdn.net/yerenyuan_pku/article/details/72514022json数据格式在接口调用中、html页面中比较常用,json格式比较简单,解析也比较方便,所以使用很普遍。在SpringMVC中,也支持对json数据的解析和转换,这篇文章主要总结一下在SpringMVC中如何和前台交互json数据。两种交互形式SpringMVC和前...
Struts2拦截器 Struts2中的拦截器1、拦截器的重要性Struts2中的很多功能都是由拦截器完成的。比如:servletConfig,staticParam,params,modelDriven等等。是AOP编程思想的一种应用形式。2、拦截器的执行时机: 3、自定义拦截器3.1、拦截器的类试图(初级版本):3.2、编写步骤:a、编写一个类,继承AbstractInt...
struts2的数据验证 数据验证用户的输入验证,必须做,且工作量巨大。1、验证的方式客户端验证:javascript服务端验证:逻辑验证(我们的代码)注意:如果客户端和服务端二选一的话,服务器端的不能省。实际开发中:客户端+服务端2、Struts2的服务端验证2.1、编程式验证前提:动作类必须继承ActionSupport在代码中编写验证规则。a、针对动作类中的所有动作方法...
Struts2基础 Struts2简介1、Struts2概述Struts2是Apache发行的MVC开源框架。注意:它只是表现层(MVC)框架。2、Struts2的来历Struts1:也是apache开发的一套mvc的开源框架。在2005年之前非常流行。 弊端:Struts1的核心控制器就是一个Servlet。随着使用者的增多,弊端开始出现。Struts2:在long long ago,有一...
swagger2搭建 添加Swagger2依赖 <!-- swagger-mvc --> <dependency> <groupId>io.swagger</groupId> <artifactId>swagger-core</artifactId> ...
log4j使用教程 首先,需要在项目中导入log4j使用的JAR包,导入结果如下图:菜单:Build Path->Configure Build Path->Add Extern Jars <!--日志框架 --> <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api --> <de...
MyBatis的Mapper接口以及Example的实例函数及详解 文章转自https://blog.csdn.net/biandous/article/details/65630783一、mapper接口中的方法解析mapper接口中的函数及方法方法 功能说明 int countByExample(UserExample example) thorws SQLException 按条件计数 int deleteByPrimaryK...
Spring入门(1) Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集...
Spring框架注解扫描开启之配置细节 Spring框架对Bean进行装配提供了很灵活的方式,下面归纳一下主要的方式: • 在XML中进行显示配置 • 在Java中进行显示配置 • 隐式的bean发现机制和自动装配而自动装配实现就需要注解扫描,这时发现了两种开启注解扫描的方式,即<context:annotation-config/>和<context:component-scan> 下面归纳一下这两...
单例模式和工厂模式Demo简单演示 一、单例模式 Singleton.Java:public class Singleton { public static Singleton instance = null; private Singleton(){} public static Singleton getInstance(){ if(instance==null){ return new Sin...
Maven学习 转自 https://blog.csdn.net/zxm1306192988/article/details/762090621、目前掌握的技术 2、目前的技术在开发中存在的问题[why] 一个项目就是一个工程 如果项目非常庞大,就不适合继续使用package来划分模块。最好是每一个模块对应一个项目,利于分工协作。 借助于maven就可以将一个项目拆分成多个工程。 ...
XML-DOM操作 Document Object Model的缩写使用 DOM 时,数据以类树结构被装入内存中。DOM 使用根节点和父子关系。DOM的三层模型将HTML、XML文档定义成树形结构。文档中的标签,属性,文本等都封装成了节点对象。封装成对象的好处就是更易于操作这些节点。DOM本身就是对外暴露的一套API。--------------------------------------------------...
Vector, ArrayList, LinkedList java集合框架的由来:其实在Java2z什么是集合框架:尽管这些容器类非常好用,d'na'shi'que为什么xuu1)提供功能的复用;2常用的集合类:Set(集):集合List(列表):集合中的对象按照suo'yin'wMap(映射):集合中每一个元素------------------------------------------------------------------------...
泛型类和泛型方法 泛型类:直接在类/接口上定义的泛型使用泛型:保证前后类型相同List<String> list=new ArrayList<>()从Java7开始推出泛型的菱形语法泛型不存在继承的关系List<Object> list=new ArrayList<String>();//错的从此以后,使用集合都得使用泛型来约束该集合中元素的类型通过反编译发现:泛型其...
Java实现栈和队列 转自 :http://www.cnblogs.com/CherishFX/p/4608880.htmlJava实现栈和队列栈:LIFO(后进先出)队列:FIFO(先进先出)栈的顺序存储结构实现:/** * 基于数组实现的顺序栈 * @param <E> */public class Stack<E> { private Object[] data = nul...
java中栈和队列的实现和API的用法 在java中要实现栈和队列,需要用到java集合的相关知识,特别是Stack、LinkedList等相关集合类型。一、栈的实现栈的实现,有两个方法:一个是用java本身的集合类型Stack类型;另一个是借用LinkedList来间接实现Stack。1.Stack实现直接用Stack来实现非常方便,常用的api函数如下:boolean isEmpty() // 判断当前栈是否为空syn...
LinkedList LinkedList是基于链表实现的,所以先讲解一下什么是链表。链表原先是C/C++的概念,是一种线性的存储结构,意思是将要存储的数据存在一个存储单元里面,这个存储单元里面除了存放有待存储的数据以外,还存储有其下一个存储单元的地址(下一个存储单元的地址是必要的,有些存储结构还存放有其前一个存储单元的地址),每次查找数据的时候,通过某个存储单元中的下一个存储单元的地址寻找其后面的那个存储单元。这么讲...
java日期处理 时间日期1)java中的时间类有:Date和Calendar2)java中时间类的本质 long(毫秒数) Date = long +历法算法(方法gerYear()) Calendar = long +历法算法(方法ger())3) 时间的标准有两种 (1970)GMT long (0)UTC long4) java中基本的时间表示GMT long5) java提供了Date类型表示时间和日...
java对字符的编码处理 本文转自http://kxjhlele.iteye.com/blog/333211,讲述了java中对字符的编码处理 在java应用软件中,会有多处涉及到字符集编码,有些地方需要进行正确的设置,有些地方需要进行一定程度的处理。1. getBytes(charset) 这是java字符串处理的一个标准函数,其作用是将字符串所表示的字符按照charset编码,并以字节方式表示。注意字符串在...
二进制运算基础 一、二进制位运算1. 按位与(&) 位运算实质是将参与运算的数字转换为二进制,而后逐位对应进行运算。 按位与运算为:两位全为1,结果为1,即1&1=1,1&0=0,0&1=0,0&0=0。 例如51 & 5 -> 00110011 & 00000101 = 00000001 -> 51 & 5 = 1 特殊用法: ...
解决翻页时丢失高级查询数据问题 造成的原因:翻页时,会重新发一次请求,该请求和高级查询表单没有关系<a href="/pro?currentPage=${pageResult.nextPage}">下页</a>发现:该请求中的参数只有一个currentPage,没有高级查询表单中的name,minPrice等。解决方案:使用js解决:在翻页的时候: 同时提交...
分页查询和高级查询整合 1)把pageSize和currentPage封装到ProductQueryObject中public class ProductQueryObject { private String name; private BigDecimal minSalePrice; private BigDecimal maxSalePrice; //-------------------------...
分页扩展 实现上面的效果,需要一个计算开始和结束索引的类PageIndexpublic class PageIndex { private Integer beginIndex; private Integer endIndex; public PageIndex(Integer beginPageIndex, Integer endPageIndex) { this.beginInd...
分页设计 逻辑分页(假分页/内存分页):一次性把数据库中某张表所有数据都查询出来,并存放在list集合中,每次翻页的时候只需要从内存中去获取指定的条数即可。优点:操作简单缺点:第一次查询比较慢,如果数据过多,可能造成内存溢出情况物理分页(真分页/数据库分页),比如在MySQL中通过LIMIT,Oracle中通过子查询:每次翻页都从数据库中去查询指定的条数。优点:如果数据过多,不会内存...
select count(id) from table 返回值 select count(id) from table这条SQL语句作用大家都明白什么作用了,本来一直认为返回值为一整形结果,但是试试胜于雄辩。 刚刚在写一个jsp程序,数据库操作使用了dbutils包,使用了select count(id) from table 这条语句计算table表中的记录数,结果使用Integer接收,运行测试,报错了java.lang.ClassCastExceptio...
高级查询 高级查询后台操作步骤:1)在ProductDAO接口中编写高级查询的方法public interface ProductDAO { /** * 高级查询 * @param name 商品名称:productName LIKE '%name值%' * @param minSalePrice 最低价格:salePrice>minPr...
监听器 @WebListener//监听系统(应用)的启动和销毁public class ContextListenerDemo implements ServletContextListener{ @Override public void contextDestroyed(ServletContextEvent arg0) { System.out.println("web系统销毁...
字符编码过滤器 public class CharacterEncodingFilter implements Filter{ private String encoding; private Boolean forceEncoding=false; @Override public void init(FilterConfig config) throws ServletException { ...
jsp+servlet实现商城购物车功能 <a href="AddCart?id=${b.id}"><button class="btn btn-default">加入购物车<span class="glyphicon glyphicon-shopping-cart"></span></button></a>商品详情页