03 2020 档案

摘要:1. 网页客户端使用表单提交文件上传 当使用表单提交文件上传时,必须: 表单<form>必须配置method="post"; 表单<form>必须配置enctype="multipart/form-data"; 其它部分与常规的表单开发相同。 2. 在控制器中处理文件上传 在处理请求的方法中,添加M 阅读全文
posted @ 2020-03-28 10:51 Scorpicat 阅读(306) 评论(0) 推荐(0)
摘要:RuntimeException RuntimeException是Exception接口下的一个子接口,通常我们在自定义异常时,可以有实现Exception或是实现RuntimeException两种选择。 两者之间的区别在于,实现RuntimeException的异常,可以不向上声明,可以不捕获 阅读全文
posted @ 2020-03-28 09:50 Scorpicat 阅读(483) 评论(0) 推荐(0)
摘要:一、引言 在我们设计网站时,会涉及到用户密码安全存储的这个点。通常我们不会直接将用户的密码存储在数据库中,而是通过一种“加密”的算法将加密后的密码存储在数据库中,当用户登录时,对用户输入的密码进行加密后与数据库进行比对,如果正确则放行登录。 二、相关技术 (一)加密算法与消息摘要算法 加密与解密通常 阅读全文
posted @ 2020-03-21 19:04 Scorpicat 阅读(337) 评论(0) 推荐(0)
摘要:一 加密算法 应用于数据传输 通过算法,可以得到加密前的数据 二 消息摘要算法 应用于数据校验,比如文件完整性验证,存储密码 根据算法获得的结果长度是固定的,不同的算法有不同的数据长度 有不同消息获得同样运算结果,但概率极低 相同的数据通过同一个算法获得的结果一定相同 所以我们在说数据库存储用户密码 阅读全文
posted @ 2020-03-21 11:44 Scorpicat 阅读(347) 评论(0) 推荐(0)
摘要:飞 阅读全文
posted @ 2020-03-21 11:28 Scorpicat 阅读(106) 评论(0) 推荐(0)
摘要:飞 阅读全文
posted @ 2020-03-21 11:27 Scorpicat 阅读(79) 评论(0) 推荐(0)
摘要:今天遇到一个空指针异常,在调用某Mapper的查询方法时报此mapper的空指针异常: Mapper自动装配: 异常: 此Mapper在测试单元中却能正常使用。 所以推测,不管此mapper啥事,而是调用它的service对象的问题。 经过检测,原来是调用此Mapper对象的service对象,它! 阅读全文
posted @ 2020-03-19 14:32 Scorpicat 阅读(962) 评论(0) 推荐(0)
摘要:方法 阅读全文
posted @ 2020-03-19 14:03 Scorpicat 阅读(138) 评论(0) 推荐(0)
摘要:引入 在AJAX技术之前,我们使用请求转发或是重定向来不断获取数据,这两种方式都是页面请求(每次请求获取一整个页面),它消耗的资源高。 现在我们使用ajax,ajax技术是正文请求,只更改网页的部分数据而不重新请求一个新的页面,可以使客户端效率更高。 json 我们将服务器需要返回给客服端的数据封装 阅读全文
posted @ 2020-03-17 17:10 Scorpicat 阅读(539) 评论(0) 推荐(1)
摘要:零、SSM框架demo下载 以下配置与demo均为maven项目。 一、依赖添加(pom.xml) 主要配置的依赖包有: spring框架(spring-context),springMVC框架(spring-webmvc),MyBatis框架(mybatis与mybatis-spring),模板解 阅读全文
posted @ 2020-03-14 09:38 Scorpicat 阅读(296) 评论(0) 推荐(0)
摘要:引入 多表查询我们就不能使用实体类来接收结果,而使用VO(Value Object)类来接收。他们在结构形式上是一致的,但是定位不同,VO类专用于多表查询结果的封装。 案例:t_user表与t_group表的查询 t_user表结构 t_group表结构 VO类的设计 多表查询结果通常使用一个VO类 阅读全文
posted @ 2020-03-13 10:49 Scorpicat 阅读(188) 评论(0) 推荐(0)
摘要:字段名与属性名不一致导致无法封装数据的问题 在数据库的字段命名中,我们使用下划线分隔。 而在java的属性命名中,我们使用小驼峰命名规则,这会使得某些这些字段的返回值无法与javaBean的属性值对应,使得数据封装为null值。 为了解决这个问题,我们可以使用两种方法。 方法一:查询语句中给字段起别 阅读全文
posted @ 2020-03-13 09:31 Scorpicat 阅读(914) 评论(0) 推荐(0)
摘要:步骤 双击服务器 找到右上角publishing(部署),点击 选择Never publish automatically ctrl s 保存退出 图示 图1 图2 图3 阅读全文
posted @ 2020-03-13 09:26 Scorpicat 阅读(202) 评论(0) 推荐(0)
摘要:1.生成web.xml 右键最长的,选择最长的。 2.修改tomcat 右键项目,最下面属性,输入runtime,选择targetd runtimes,选择合适的tomcat 3.修改jdk版本 右键项目,最下面属性,输入facets,选择project facets,将java改成合适的版本 4. 阅读全文
posted @ 2020-03-10 15:44 Scorpicat 阅读(155) 评论(0) 推荐(0)
摘要:只看使用 在mapper标签下添加 <cache readOnly="true"></cache> 看原理 1.应用程序和数据库交互的过程是一个相对比较耗时的过程 2. 缓存存在的意义:让应用程序减少对数据库的访问,提升程序运行效率 3. MyBatis 中默认 SqlSession 缓存开启 3. 阅读全文
posted @ 2020-03-09 18:17 Scorpicat 阅读(111) 评论(0) 推荐(0)
摘要:动态SQL 所谓动态sql,就是加了一些逻辑判断的SQL语句。 主要有以下: where-if :where标签下写if标签。如果if判断成立,则执行if下的sql,多个if可叠加执行。如where标签下判断无内容,where标签不被执行。需要在if标签下sql语句前写and。默认执行时第一个and 阅读全文
posted @ 2020-03-09 16:42 Scorpicat 阅读(195) 评论(0) 推荐(0)
摘要:报错代码如 注:此session已声明,并且通过System.out.println可打印出地址。 long count = session.selectOne("cn.xiaohei.mapper.LogMapper.selCount"); 异常如 严重: Servlet.service() fo 阅读全文
posted @ 2020-03-06 17:06 Scorpicat 阅读(921) 评论(0) 推荐(0)
摘要:案例 一个账户给另一个账户转账, 转账成功后跳转转账日志界面。 日志界面的意义在于分页的使用。 bug 我遇到SqlSession空指针异常bug,但session对象明明是有地址的,怀疑跟mapper有关。在我一顿操作气到砸电脑后bug消失了。 总结 淦 效果演示 代码包 点击下载 阅读全文
posted @ 2020-03-06 14:57 Scorpicat 阅读(133) 评论(0) 推荐(0)
摘要:新增 Mapper.xml配置 <insert id="insOne" parameterType="peo"> insert into people values(default,#{name},#{age}) </insert> java代码传参示例 People p = new People( 阅读全文
posted @ 2020-03-04 19:31 Scorpicat 阅读(182) 评论(0) 推荐(0)
摘要:引入别名 在Mapper中我们常常使用包名.类名的方法引入类,但这样写太长了,MyBatis为我们提供了别名功能。 注意:是给类起别名,mapper不行 在MyBatis的配置文件中。 第一种方式:给单独的类起别名 在alias后跟上别名,在type中跟上包名.类名。 <typeAliases> < 阅读全文
posted @ 2020-03-04 18:14 Scorpicat 阅读(371) 评论(0) 推荐(0)
摘要:使用map实现分页 java中 int pageSize = 2; int startPage = 0; map.put("pageSize", pageSize); map.put("startPage", startPage); list = session.selectList("cn.xia 阅读全文
posted @ 2020-03-04 17:56 Scorpicat 阅读(141) 评论(0) 推荐(0)
摘要:参数类型ParameterType 传递参数 selectList()方法和selectOne方法,只能传一个参数: 下面方法的第二个参数,即需要传入的参数(如下传入1) 第一个参数为方法名。 session.selectOne("cn.xiaohei.mapper.PeopleMapper.sel 阅读全文
posted @ 2020-03-04 17:27 Scorpicat 阅读(576) 评论(0) 推荐(0)
摘要:引入 在全局配置中,我们可以开启MyBatis的日志功能,前面我们也看到,MyBatis的依赖包有很多是日志包,其中就包含log4j。 导入log4j配置文件 放在src目录下,不可更改路径。 配置文件名为:log4j.properties 不可更改文件名 log4j.rootCategory=ER 阅读全文
posted @ 2020-03-04 15:55 Scorpicat 阅读(426) 评论(0) 推荐(0)
摘要:依赖包 或使用maven坐标 <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> 引入语句 <%@ taglib prefix 阅读全文
posted @ 2020-03-04 15:15 Scorpicat 阅读(158) 评论(0) 推荐(0)
摘要:三种查询方式 在使用SQLSession调用查询方式时,有三种查询方式 1.selectList(方法) 返回值为List<ResultType 属性控制> 2.selectOne(方法) 返回一个Object,适用于返回结果只是变量或一行数据时 3.selectMap(方法,列名) 以列名为key 阅读全文
posted @ 2020-03-04 10:32 Scorpicat 阅读(767) 评论(0) 推荐(0)
摘要:实体类中属性名需要与字段保持一致,否则查询不到对应字段的数据。 但可以在查询语句中使用别名的方法获得数据,例如,字段为name,但实体类中的对应的属性确实name123,那么可以在查询时做别名操作: select name name123,age from person 就是这样子了。 阅读全文
posted @ 2020-03-04 09:52 Scorpicat 阅读(148) 评论(0) 推荐(0)
摘要:0 本文demo下载地址 链接:https://pan.baidu.com/s/1qrOt6pg1LlirX4s3I44ATQ 提取码:a62x 1 下载地址 http://qunying2.jb51.net:81/201905/tools/mybatis_jb51.rar 2 引入MyBatis的 阅读全文
posted @ 2020-03-03 19:46 Scorpicat 阅读(198) 评论(0) 推荐(0)
摘要:右键项目->export->java->JAR File 阅读全文
posted @ 2020-03-03 17:16 Scorpicat 阅读(123) 评论(0) 推荐(0)
摘要:SSM框架 SSM框架指的是:Spring、SpringMVC、MyBatis三个框架 MyBatis:数据访问层框架 Spring:loC,AOP SpringMVC:对Servlet封装 阅读全文
posted @ 2020-03-03 17:15 Scorpicat 阅读(218) 评论(0) 推荐(0)
摘要:开发模式不是设计模式。 MVC开发模式 M:Model 模型,实体类和业务和dao V:view 视图,jsp C:Controller 控制器,servlet。作用:视图和逻辑分离 MVC适应场景:大型项目开发 开发流程 1.设计数据库 2.实体类 3.持久层 4.业务逻辑层 5.控制器 6.视图 阅读全文
posted @ 2020-03-03 15:02 Scorpicat 阅读(114) 评论(0) 推荐(0)
摘要:项目名:没有要求,不起中文 包名 红色的为MyBaits推荐使用的包名 持久层:dao,persist,mapper 实体:model,entity,bean,javabean,pojo 业务逻辑层:service,biz 控制器:controller,servlet,action,web 过滤器: 阅读全文
posted @ 2020-03-03 14:56 Scorpicat 阅读(397) 评论(0) 推荐(0)
摘要:使用的接口 ServletContextListener :ServletContext相当于项目的全局空间变量,监听之,在其创建时给他添加一个对象用来计数 HttpSessionListener : 每个用户都会创建一个session,我们监听session,当创建session发生时,调出Ser 阅读全文
posted @ 2020-03-02 17:43 Scorpicat 阅读(325) 评论(0) 推荐(0)
摘要:ServletContext监听器 有关信息请跳转这里 两个接口 ServletContextListener:监听servletContextListener对象的创建和销毁 ServletContextAttributeListener:监听servletContextListener对象里的数 阅读全文
posted @ 2020-03-02 17:29 Scorpicat 阅读(141) 评论(0) 推荐(0)
摘要:两个接口 HttpSessionListener :session对象的创建和销毁 HttpSessionAttributeListener :session中数据的增删改 public class Listener implements HttpSessionListener,HttpSessio 阅读全文
posted @ 2020-03-02 17:18 Scorpicat 阅读(203) 评论(0) 推荐(0)
摘要:监听器概念 监听器就是监视时间触发的对象,当监听器监听某一特定事件,而事件触发时,就会执行对应的监听器里的方法。例如:request请求创建事件的监听器。 监听器的创建和配置 创建 创建一个类,实现对应的监听器接口。 配置 在web.xml中配置,如: <listener> <listener-na 阅读全文
posted @ 2020-03-02 17:04 Scorpicat 阅读(483) 评论(0) 推荐(0)
摘要:概念 我们使用过滤器对请求和响应做统一的处理后在传递给servlet(或从servlet传出)。也可以针对某类甚至某个servlet的请求做特殊处理。 由服务器来调用filter,先经过filter才到servlet。所以filter的生命周期是从服务器开启到服务器关闭。 通过过滤器可以保护网站,例 阅读全文
posted @ 2020-03-02 15:08 Scorpicat 阅读(153) 评论(0) 推荐(0)
摘要:Ajax学习 1、ajax的概念 局部刷新技术。不是一门新技术,是多种技术的组合。是浏览器端的技术。 2、ajax的作用 实现在当前结果页中显示其他请求的响应内容 3、ajax的使用 ajax的基本流程 创建ajax引擎对象复写onreadystatement函数 判断ajax状态码 判断响应状态码 阅读全文
posted @ 2020-03-02 11:53 Scorpicat 阅读(404) 评论(0) 推荐(0)