学习Java第二阶段
文章平均质量分 61
Java进阶
连杰李
有问题可以私信,QQ1016500443
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Spring MVC第六讲(SpringMVC-拦截器、案例-登录访问权限控制)
SpringMVC-拦截器拦截器类似于过滤器,可以设置拦截规则(拦截所有的请求)public class Interceptor1 implements HandlerInterceptor{ @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { System.out.prin原创 2020-09-05 18:36:14 · 494 阅读 · 0 评论 -
Spring MVC第五讲(SpringMVC-异常处理、SpringMVC-图片上传功能、SpringMVC-JSON数据交互、SpringMVC-Restful风格)
SpringMVC-异常处理在项目运行过程中,可能会出现一些预知异常和运行时异常预知异常:程序员知道的可能会出现的异常运行时异常:在程序运行过程中出现的未知的异常1、在项目中无论是dao、service、controller都有可能出现异常2、项目是打成war包放在tomcat服务器上的,tomcat在linux系统上部署的步骤:1、创建异常类实现HandlerExceptionResolverpublic class MyException implements HandlerExcep原创 2020-09-04 18:11:16 · 387 阅读 · 0 评论 -
Spring MVC第四讲(SpringMVC-参数绑定、SpringMVC-请求乱码处理、SpringMVC-注解的使用、SpringMVC-返回值处理)
SpringMVC-参数绑定默认类型@RequestMapping("queryUser.do") public ModelAndView queryUser(HttpServletRequest request, HttpServletResponse response, HttpSession session) { ModelAndView mv = new ModelAndView(); //jsp的做法-获取地址栏中的参数的方法 String uid = requ原创 2020-09-04 12:05:58 · 322 阅读 · 0 评论 -
Spring MVC第三讲(SpringMVC-入门程序、SpringMVC-整合Spring和MyBatis)
SpringMVC-入门程序步骤:1、导入相关的jar (SpringMVC是Spring的一个方向的延申,使用时需要在Spring的基础上操作)spring-core、spring-beans、spring-expression、spring-jcl、spring-test、spring-context、spring-web、spring-webmvc、spring-aop2、配置DispatcherServlet(SpringMVC本质还是通过servlet来进行请求及响应的处理,SpringM原创 2020-09-03 17:31:31 · 328 阅读 · 1 评论 -
SpringMVC第一讲(Spring+MyBatis整合web项目、流程分析、 SpringMVC-介绍、 SpringMVC-架构分析、SpringMVC-三大组件)
Spring+MyBatis整合web项目整合1、创建一个web项目2、关联jar包spring5.0 :spring-aop、spring-beans、spring-tx、spring-core、spring-jdbc、spring-web、spring-expression、spring-test、spring-jcl、spring-context、spring-aspect、aop联盟mybatismybatis、mybatis-spring数据库mysql-connec原创 2020-08-19 11:54:28 · 374 阅读 · 0 评论 -
Spring入门第五讲(Spring整合Mybatis、Spring5.0中新增的注解)
Spring整合Mybatis流程:1、导入相关的jar 4+1 dao aop mybatis mybatis-spring 驱动包2、配置Spring的配置文件和Mybatis的配置文件3、配置数据源4、配置SqlSessionFactoryBean对象,注入数据源+加载Mybatis的配置文件5、配置映射文件所在的地址6、配置事务<!--1、创建数据源--><context:property-placeholder location="classpath:jdbc.原创 2020-08-18 16:06:17 · 419 阅读 · 0 评论 -
Spring入门第四讲( 注解实现AOP、 Spring中提供的注解、 Spring中的JdbcTemplate对象、Spring对web的支持)
注解实现AOP<!--配置自动代理切面--><aop:aspectj-autoproxy/><!--配置扫描--><context:component-scan base-package=""></context:component-scan>@Component("myAdvice")@Aspectpublic class MyAdvice{ /**@Before("execution(* service..*(..))"原创 2020-08-17 17:01:46 · 320 阅读 · 1 评论 -
Spring入门第三讲 Spring中的代理 静态代理 动态代理(JDK代理) cglib代理(字节码增强) Spring中的AOP
Spring中的代理概念:代理即在访问真正的对象之前和之后所做的业务处理的对象以事务的操作为例讲解:静态代理代理对象和真实的对象需要实现同一个接口目标对象类public class UserDaoImpl implements IUserDao { @Override public int saveUser() { //System.out.println("--开启事务--"); System.out.println("--添加用户--"); //System.out.pr原创 2020-08-03 10:46:31 · 403 阅读 · 0 评论 -
spring入门第二讲 bean的生命周期 装配方式 Spring整合Junit
bean的生命周期实体类//初始化public void init(){ System.out.println("--初始化--");}//销毁public void destory(){ System.out.println("--销毁--");}<bean id="user" class="cn.yunhe.beans.User" init-method="init" destroy-method="destory"> <pr原创 2020-08-02 13:59:44 · 334 阅读 · 0 评论 -
spring入门第一讲 spring的优势 Spring的体系结构 Spring中的两大核心 IOC AOP bean的实例化 无参构造+setter方法 有惨构造 静态工厂 实例化工
Spring概述Spring是一个轻量级的框架,主要有**IOC(控制反转 )和AOP(面向切面)**两大核心内容。简化了开发,降低了开发的复杂度,同时可以整合其他的优秀的第三方框架或者类库,目前在大多数公司中都比较流行。spring的优势降低了开发的复杂度整合目前流行的优秀的第三方的框架或类库整合Junit进行单元测试Spring的体系结构Spring中的两大核心IOC控制反转IOC:将对象的创建和管理交给Spring框架处理依赖注入DI:在程序运行期间,动态的将值进行注入IO原创 2020-07-19 15:18:32 · 353 阅读 · 0 评论 -
Mybatis第七讲 原始分页实现 PageHelper的分页
分页插件-PageHelper原始分页实现显示所有的页码数 1、总的数据条数 total 2、每页要显示的数据数量是多少 count 3、总页码数 total%count==0?total/count:(total/count+1)每页要显示的数据来源 1、起始位置 2、固定的排序方式(查询的条件一致)起始下标和页码数之间的关系public class PageInfo { /** * 总数据条数 */ private int totals; /**原创 2020-07-14 22:34:11 · 418 阅读 · 0 评论 -
Mybatis第六讲 配置数据库参数、Mybatis实现项目功能、postman的使用
配置数据库参数jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql:///shop?characterEncoding=utf-8jdbc.username=rootjdbc.password=77777777##1、每一行的后面不能有空格 2、对于特殊的名词,建议前面加上一些标识用于区分<!-- 引入属性文件 --><properties resource="db.properties"></properti原创 2020-07-13 22:55:09 · 338 阅读 · 0 评论 -
Mybatis第五讲(主键获取 缓存机制 一级缓存 二级缓存 延迟加载)
主键获取应用场景:用户注册成功后直接算是登录成功的状态,在个人信息或其他页面需要使用到用户的信息,那么此时就需要通过id来获取,或者注册成功后将用户信息携带过去。总结:在添加数据后获取到当前添加的这条数据的主键ID<insert id="insertUser" parameterType="user"> <!-- 自增主键:先插入数据才有主键ID selectKey 用于在添加时查询当前语句生成的主键ID order:指定查询主键的sql在添加语句之前还是原创 2020-07-12 15:51:51 · 486 阅读 · 0 评论 -
Mybatis第四讲(输入输出映射 SQL片段 动态SQL 批量删除)
接着第三讲 输入输出映射用户和订单之间是一对多的关系需求:查询指定用户的信息及其所有的订单信息select users.*,orders.* from t_user users,t_orders orders where users.uid=orders.uid and users.uid=#{uid}<resultMap type="user" id="queryUserOrdersResultMap"> <id column="uid" property="uid"原创 2020-07-11 22:53:09 · 412 阅读 · 0 评论 -
Mybatis第三讲 (模糊查询 输入输出映射 )
模糊查询需求:按照输入的用户名进行模糊匹配模糊查询面试题:(1) 在Mybatis中#{}和${}的区别#{}代表占位符${value}代表拼接 引起sql注入的问题,不安全;${}中的参数名只能写value(2) 实体类中的属性都是私有化的,外界是不允许直接调用的,那么为什么在映射文件中可以直接写属性名?映射文件中在使用对应实体类中的属性时,其实是通过其对应的get方法来获取值的<select id="queryUserLikeName" parameterType="java原创 2020-07-10 23:20:59 · 367 阅读 · 0 评论 -
Mybatis第二讲(增加了增删改功能、配置别名、Mapper代理、批量加载映射文件)
1 Mybatis介绍Mybatis是Apache下的一个开源的免费的半自动化的ORM框架,前身名叫IBatis优势:简化了对数据库的操作,让程序员专注于对sql的编写,不再将大量的时间放在业务逻辑上//模糊查询时,条件的不同会有不同的业务,此处的业务代码会非常的繁琐,可以使用Mybatis中的动态sql处理String sql = "select * from t_user limit ?,?";if(user0!=null) { if(user0.getUname()!=null) {原创 2020-07-08 22:47:42 · 528 阅读 · 0 评论 -
Mybatis框架第一讲(Mybatis介绍、JDBC操作数据库存在的问题、Mybatis的执行原理、Mybatis入门案例、 log4j日志文件、JUnit说明)
1 Mybatis介绍Mybatis是Apache下的一个开源的免费的半自动化的ORM框架,前身名叫IBatis优势:简化了对数据库的操作,让程序员专注于对sql的编写,不再将大量的时间放在业务逻辑上不用mybatis时的模糊查询://模糊查询时,条件的不同会有不同的业务,此处的业务代码会非常的繁琐,可以使用Mybatis中的动态sql处理String sql = "select * from t_user limit ?,?";if(user0!=null) { if(user0.ge原创 2020-07-04 00:12:57 · 521 阅读 · 0 评论 -
过滤器及监听器(字符编码过滤器、登录权限过滤器、访问次数监听器)
1 过滤器监听器概念过滤器 例如:水龙头上的滤网、净水器 所有经过该滤网的水资源都会被过滤,过滤的物质有滤网的特点来决定的 可以拦截指定的请求和响应,进行一系列的业务处理 问题:业务场景有哪些 编码过滤、登录过滤、加密过滤等等 问题:过滤规则有哪些 servlet的生命周期:初始化(一次) service(多次) 销毁(一次) 过滤器的生命周期:初始化(一次) doFilter(多次) 销毁(一次) 当有多个过滤器时,就会形成过滤器链,此时需要考虑过滤器的原创 2020-07-02 22:58:23 · 616 阅读 · 0 评论 -
回顾分页,学习文件上传(提交表单、图片回显)
1 回顾分页分析:实现分页效果(1) 每页都有固定条数的数据显示,也存在最后一页数据条数可能不够a、查询数据的起始下标b、当前的页码数(2) 需要有一个分页的显示条a、总数据条数b、每页要显示的条数c、总条数%每页的条数==0?总条数/每页的页数:(总条数/每页的页数+1)(3) 前台展示a、返回的数据b、当前的页码数c、总页数:总数据条数、每页要显示的数据条数分页三种实现方式:(1)使用El表达式+jstl+servlet+mysql+jdbc+html+css+tomcat实原创 2020-07-01 00:06:30 · 381 阅读 · 0 评论 -
分别使用Ajax和layUI实现分页
1 使用Ajax实现分页1.1 后端servelet代码截取 /** * 查询所有的用户 * 目的:获取到当前页的数据,实现分页效果 * 思路: * 1、需要拿到当前页的数据queryUsersLimit * 2、分页相关的参数返回到前端:每页的条数、当前的页码数、数据的总条数 * @param userService * @param session * @param response * @throws IOException */ publi原创 2020-06-29 00:17:19 · 779 阅读 · 0 评论 -
jQuery中的Ajax(基本语法、Ajax面试题、 layUI的方法级渲染)
1 基本语法$.ajax({//请求类型get/postmethod:"post",//指定请求地址url:"UserServlet",//发送给服务器的数据data:{ "name":uname, }//代表返回的数据接收类型为json格式dataType:"json",//请求成功后要做的事情,data参数就是返回的结果success:function(data){ console.log(data);},//请求失败后执行的方法error:function(){}原创 2020-06-27 22:43:46 · 497 阅读 · 0 评论 -
原生Ajax的使用(创建XMLHttpRequest对象、发送请求、GET 还是 POST、异步还是同步、处理后台返回的数据)
1 学习目标(1)Ajax在开发中的应用(为什么要去使用它)为了能够做局部刷新(只更新网页中的部分内容),以此来提高效率(2)原生的Ajax的使用方式(3)jQuery中的Ajax的使用方式(4)修改之前的案例,将请求转换为Ajax的方式2 Ajax入门2.1流程(1)发送请求:请求方式(get、post)、指定请求地址 、参数设置(2)响应结果:响应状态(接受状态、结果状态)返回数据(3)处理结果:根据具体的业务需求2.2创建XMLHttpRequest对象XMLHttpReque转载 2020-06-27 18:48:48 · 631 阅读 · 0 评论 -
servlet第二讲(序列化和反序列化、配置上下文参数、service方法的作用、返回给前端json数据)
1 什么是序列化和反序列化,为什么要序列化?1.1序列化和反序列化的定义:(1) Java序列化就是指把Java对象转换为字节序列的过程Java反序列化就是指把字节序列恢复为Java对象的过程。(2)序列化最重要的作用:在传递和保存对象时.保证对象的完整性和可传递性。对象转换为有序字节流,以便在网络上传输或者保存在本地文件中。反序列化的最重要的作用:根据字节流中保存的对象状态及描述信息,通过反序列化重建对象。总结: 核心作用就是对象状态的保存和重建。(整个过程核心点就是字节流中所保存的对象状态及原创 2020-06-27 12:18:10 · 1143 阅读 · 0 评论 -
servlet的使用
1 常见问题问题1:layui表单中加上disable后无法获取值原因:在HTML页面的某元素加入了disable属性,那么这个元素只能显示给用户,当表单提交时这个元素不会提交给后台处理,所以当元素加了disable属性后后台无法获取到这个属性的值。解决方法:再写一个隐藏属性,一个用于显示,一个用于传值把disable换成readonly问题2如果在继承该servelet时,报错提示找不到该servelet,去tomcat的lib目录下将servelet-api.jar放入WEB-INF原创 2020-06-26 22:24:00 · 295 阅读 · 0 评论 -
三层架构
1 概念MVC :名称内容M–>Model(模型)实体类、业务类、数据层V–>View(试图)jsp、htmlC–>Control(控制)Controller优点:层次结构清晰、代码可扩展、可维护、简化等等。包名规范:公司域名倒过来写+项目名+功能名包名含义cn.yunhe.beans/pojo实体类cn.yunhe.dao/mapper数据层cn.yunhe.service业务层cn.yu原创 2020-06-26 20:15:23 · 286 阅读 · 0 评论 -
el表达式及jstl,jsp中的6个动作
1 el表达式作用:简化jsp代码语法:${key}注意点:1.使用el表达式获取数据时,该数据必须存在于某个域中2.如果多个域中存在相同的key值,那么会根据范围从小到大依次查找判断:empty 、== 、not empty 、!=不适用el表达式获取userList集合<%List<User> userList = null;Object obj = session.getAttribute("userList");userList = (List<Us原创 2020-06-25 16:36:20 · 321 阅读 · 0 评论 -
jdbc及el表达式
1 jdbc操作数据库步骤:1.关联驱动包2.注册驱动3.获取数据库连接对象4.定义sql语句,预编译sql5.设置参数.执行sql6.处理结果集7.关闭连接2 不封装jdbc操作,control层的代码<%@page import="java.sql.*,cn.yunhe.beans.User,java.util.*"%><%@ page language="java" contentType="text/html; charset=UTF-8" pageEn原创 2020-06-25 11:16:58 · 394 阅读 · 0 评论 -
application对象及作用域 四大作用域
1 application对象概念application对象,上下文对象,其生命周期和工程的生命周期一致。2 application对象应用需求分析:统计当前页面被访问了多少次。实现思路:定义一个计数器,网页每被访问一次,计数器在原来的基础上+1。具体步骤:1、定义一个计数器,当程序启动后第一次被访问时,初始化该计数器int count = 0;2、将计数器存储在全局作用域中,计数器+1后存储到全局作用域中。3、每次在访问该页面时,先获取原来的访问次数,然后在原油的次数上+1,最后将最原创 2020-06-25 09:50:43 · 3215 阅读 · 0 评论 -
session and cookie
1 课前准备:1.1系统架构:C/S架构:client/server 客户端到服务端 如:qq、微信、微博等客户端B/S架构:browser/server 浏览器到服务端 如:京东、淘宝、选课系统等网页端1.2记住密码实现方案逃不出的真相定律:一定要先从某一个地方获取到账户名,再将账户名渲染到输入框方案一:将数据存储到服务端,每次从服务端获取。 缺点:服务器压力大。优点:安全。方案二:将数据存储在客户端,用户可以自己查看数据。缺点:不安全。优点:效率高。2 cookie对象存储cook原创 2020-06-24 21:53:23 · 303 阅读 · 0 评论 -
response对象
1.请求转发与重定向的区别?或者forward和sendRedirect的区别?request对象在进行请求转发时,地址栏的地址是不变的1.地址栏不变2.可以携带参数3.一次请求response(响应)1.地址栏的地址会发生改变2.不能携带参数3.请求至少两次2.session会话session的生命周期:浏览器打开到关闭session的有效期:默认是30分钟,可以在Tomcat安装目录下的conf文件夹下的web.xml中修改。也可以通过 session.setMaxInacti原创 2020-06-21 16:17:22 · 319 阅读 · 0 评论 -
request对象与登录流程
第1阶段:课前必备基础知识(1)web流程图(2)http协议简介:超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。http请求方法:HTTP/1.1协议中共定义了八种方法(也叫“动作”)来以不同方式操作指定的资源:get、head、post、put、delete、trace、connect。http状态码:点我查看HTTP详细内容(3)get和pos原创 2020-06-21 11:10:28 · 710 阅读 · 0 评论 -
jQuery选择器和遍历
jQuery中选择器的使用有哪些选择器:ID选择器、类选择器、标签选择器、属性选择器、伪类选择器常用的获取元素的方式:第一种:通过CSS中的选择器来进行元素的获取第二种:通过JQuery提供的方法来进行获取需求1:使用选择器的形式获取元素:first / :last 获取一组元素中的第一个或者最后一个元素:even / :odd 获取一组元素中下标为偶数的元素或者奇数的元素:nth-of-type(表达式) 表达式格式:2n 2n+1 2n+2:eq(index) 获取指定下标的元素对象原创 2020-06-20 15:15:55 · 1819 阅读 · 0 评论 -
JQuery获取和修改元素;jQuery和js对象之间的转换
1.获取jQuery对象var btns = document.getElementByTagName("button");//获取js对象var $btns = $('button');//获取jQuery对象var $btns = jQuery('button');//获取jQuery对象var $btns = window.jQuery('button');//获取jQuery对象(1)如果出现错误信息:$ is not defined 原因:JQuery属于第三方封装库,在使用时需要先引入原创 2020-06-20 11:41:58 · 654 阅读 · 0 评论
分享