方法1:kaptcha开源组件。 导入maven依赖 <!-- 引入kaptcha依赖 --> <!-- https://mvnrepository.com/artifact/com.github.penggle/kaptcha --> <dependency> <groupId>com.github.penggle</groupId> <artifactId>kaptcha</artifactId> <version>2.3.2</version> </dependency> index.jsp页面 <form action="check.jsp"> <div> <label>验证码</label> <input required name="VerificationCode" type="text" placeholder="请输入验证码" autocomplete="off" /> </div> <div> <img alt="验证码" id="imageCode" src="randomCode.jpg" /> <button onclick="reload()">看不清?</a> </div> <div> <button type="submit">进行验证</button> …
Vo(view object) Vo即view object,也叫视图对象。通常我们会将一个web网页封装为一个对象,然后用一个vo对象在控制层与视图层之间作传输转换。即,vo的作用是给视图提供数据支撑,这个数据从控制层来,用以描述你期望描述的页面。 DTO(data transfer object) DTO即data transfer object,也叫数据传输对象。把它和DAO(data access object,数据访问对象)相区分开来是很有必要的。DAO是封装对数据的访问,通常用来描述所有数据,例如某表的所有字段。而DTO用来传输开发者所指定的部分数据,即使某表存在100个字段,我也可以只实现一个获取其中10个字段的DTO对象并传到下一层。通常来讲,DAO将实体对象抽象成持久层对象,并组装成DTO,也就是说这二者之间存在一个逻辑上的递进关系。 DO(Data Object) 与数据库表结构一一对应,通过DAO层向上传输数据的数据源对象。 PO(persistant object) 持久层对象,对应数据库中表的字段,数据库表中的记录在java对象中的显示状态,最形象的理解就是一个PO就是数据库中的一条记录。
开篇文章记录一下开(hua)发(shui)周期仨个半星期的Java开发期末设计。 项目一览 欢迎页面 登录页面 系统主页 表单页面 技术结构 需求分析 我们选的题目是图书管理系统,没别的原因,就图它简单。因为别的事情很多,并没有过多的精力单独放在这一门课。先研究研究老师给的需求: 大致功能需求: 图书信息有书名、ISBN、分类号、作者、在管本数。借书人姓名、性别、学号、班级、专业。 1)系统用户管理:系统管理员的增删改查; 2)图书管理:新进图书信息录入、修改、删除、查询,按模板导入,导出; 3)为借书人办理注册即添加借书人,借书人的增删改查; 4)办理借书手续; 5)借书信息的查询、统计,统计信息可按班级、书类别条件筛选导出Excel表; 从这些描述里,我们可以概括出以下核心功能: 1. 管理员、图书、借书人、借阅记录的常规增删改查; 2. 借阅记录的统计、筛选、查询; 3. Excel导出表格内容。 在动手开发之前,一定要明确项目的核心功能,这样写起来脑子才不会乱,至少不会乱得很离谱。 贴一下项目最终的结构(为保证观感,已省略末级目录)。