Java阶段复习重点内容

Mybatis

JS(javaScript)

JQuery(底层封装了JS)

Ajax(前后端交互技术)

JSP(动态网页编程技术)

JSTL(是jsp的标签库)

EL表达式

Servlet

Freemarker

Maven

Spring

SpringMVC

SpringBoot

-------------------------------------------------------------------------------------------------------------------------------

like的模糊查询
select ename from emp where  '%A%'    查询名字里含A的ename字段
select ename from emp where  '_A%'    查询名字里第二位为A的ename字段
在mybtis中,like模糊查询 
select  * from emp where  ename   '%' || #{ename} || '%'    这个sql语句会被在数据库中被执行 ,|| 代表拼接
在mybatis中可以使用bind标签
<where>
    <if test ="表达式">
    <bind  name = "ename" value ="'%'+ename+'%'"/>
    ename like #{ename}
    </if>
</where>

JDBC    java连接数据库技术
connection  
准备sql
PrepareStatement 包装sql语句
resultSet,得到执行的结果
关闭流

JDBC四个核心对象
    DriverManager,用于注册数据表链接
    Connection,                与数据链接的对象
    PrepareStatement,操作数据库SQL语句的对象
    ResultSet,结果集
Mybatis的四个核心对象
    SqlsessionFactoryBuiler唯一作用是创建SqlsessionFactory
    SqlsessionFactory
    Sqlsession
    mapper
mybatis是一个持久层ORM框架
执行流程
    读取mybatis配置文件
    加载映射文件
    构建会话工厂
    创建构造工厂对象
    Executor执行器(执行器有三个)
        Simple
        Batch
        Reuse

    
    
Mybatis动态sql
    <if test = "sal>10000">
    sal = #{sal}
    </if>
    
    where过滤条件
    <where>
    <choose>  相当于switch分支
        <when test="sal">  when相当于case
        </when>
        <otherwise>兜底分支相当于switch中的defult
        </otherwise>
    </choose>
    </where>

每一个update标签里都有必须有set标签
<set></set>标签是update更新标签中的 具体修改哪一个字段的固定标签

select标签需要返回值类型,因为需要返回查询结果的类型,而增删改不需要返回值类型resultType
JS=javaScript是一门解释性语言,他拥有和java相似的语法
一般js文件中用来处理前端页面的特效
JS中有包含事件:
    鼠标点击事件,失焦事件,聚焦事件等    
js中bom对象是浏览器对象
dom对象是文档对象,在dom中一切都是文档
JQuery底层就是封装的js
JQuery=$
    $("#id属性值"):根据id获取页面元素
    $(".class"),根据元素内的class属性值获取元素
JSP动态网页编程技术
jsp底层就是一个servlet,可以嵌入js代码
JSP的九大内置对象
    page:当前页面的对象,当前页面有效
    out:向浏览器和客户端输出数据,并且管理服务缓存区
    pagecontext:提供了jsp页面的所有对象,可直接使用,并直接可以得到其他的对象
    exception:封装了jsp程序运行的异常信息
    config:封装了服务端的配置信息
    request:封装了来自客户端的请求信息
    response:封装了来自服务端的响应信息
    session:一次会话有效
    application:全局有效
jsp中都具有工具栏,头部信息,尾部信息
    将工具栏、头部信息、尾部信息都分成各个独立的文件具有方便改写的特点,在头部和尾部都能够进行jsp文件的引入
使用的时候直接导入动态包含和静态包含
在 JSP 中一共有三种 Scriptlet 代码
    <%service方法内%>定义局部变量
    <%!%>定义在类中方法外,定义全局变量
    <%=%>可以定义表达式
    include静态包含
        <%@ include file="要包含的文件路径" %>  <!-- 相对路径-->将静态内容进行直接替换
    include动态包含
         <jsp:include page="include.jsp"></jsp:include>
<@% include>

    EL 表达式一般操作的都是域对象中的数据,操作不了局部变量。
${empty 限域变量名 }
    empty判断域对象为空。为空,返回true;不为空返回false;
jstl是JSp的脚本标签库
    核心标签库
    格式化标签
    条件动作标签if等
当jsp引用标签库时书写格式为:
    <%@taglib url=''>

maven项目构建工具
Maven主要服务于基于java平台的项目构建,依赖管理和项目信息管理

Servlet和tomcat容器
Servlet是应用小程序,Y
tomcat是一个最小容量的web服务器也是servlet的容器
Servlet的实现
    1.首先在一个类实现HttpServlet接口
    2.重写service方法,进行业务逻辑的处理,然后通过response进行响应
    Servlet的工作流程
        通过请求头获知访问的是哪个主机
        通过请求行获取访问的哪个应用程序
        通过请求行获取url得到具体要访问的资源
        根据url路径匹配程序真实路径
        服务器会创建servlet对象,并在请求到达Servlet容器时(Servlet容器会检查自己有没有对应的servlet对象,没有就创建)
然后调用init方法进行servlet容器的初始化,再调用service方法进行业务逻辑的处理,处理完毕后将response中缓存的数据以http格式发送给
客户端,最后服务器关闭servlet对象调用detroy进行销毁
    cookie是一种浏览器缓存技术:大小大概是4kb
cookie的生命周期单位为秒,可以通过setMaxAge来设置存活时间
    正整数:表示cookie可以活多少秒
    负整数:表示不保存cookie
    0:则表示删除cookie
    也可以设置指定项目下可以获取cookie
Servlet的三大域对象request,session,servletContext
    request:一次请求有效,地址发生改变后,request对象失效,且数据不共享
    session:一次会话有效,sessio对象底层由cookie实现,因为当session请求到达servlet容器
会先去检查一个有没有名为JSESSIONID的cookie对象,因此session往往可以用来验证是否为同一个用户
做权限认证
    session的生命周期
    创建到死亡
    被servlet获取时候被创建,死亡方式有五种
        1.默认时间到期单位为min
        2.设置时间到期
        3.设置立即死亡invoke
        4.服务器关闭
        5.浏览器关闭
    servletContext(application)对象跟随服务器的开启关闭

FreeMarker 是模板引擎: 即一种基于模板和生成文本输出,它与容器无关,它不仅可以用作表现层的实现技术,
而且还可以用于生成(XML,JSP,HTML网页,电子邮件,配置文件,源代码等)的通用工具。 是一个Java类库。
    FreeMarker 的原理就是:模板+数据模型=输出,模板只负责数据在页面中的表现,不涉及任何的逻辑代码,
而所有的逻辑都是由数据模型来处理的。用户最终看到的输出是模板和数据模型合并后创建的。

dom4j就是个xml解析包,用来读写xml文件

sprin框架:是一个容器框架,是个生态    
spring框架概念:基于javaee应用的轻量级开源框架和核心技术为IOC和AOP两大技术,实现项目在开发过程中轻松解耦
IOC:控制反转和依赖注入,将创建对象的权利赋予了IOC容器,IOC容器的核心组件是BeanFactory
spring的七大模块

    核心容器模块:IOC 容器(控制反转和依赖注入),Factroy是spring的核心类,正是利用Factroy工厂实现创建
对象将应用的配置和依赖性规范与实际代码分开spring以bean对象的方式来组织和管理java应用中的组件及其关系

    AOP模块:提供面对切面编程,可以在提供新的功能的同时不去修改原有代码,

    数据访问模块dao&jdbc:主要目的是将业务代码和数据库交互代码分离,降低耦合,各做各的事
    web模块

    应用上下文模块:是一个配置文件,向Spring框架提供上下文信息;
SpringContext模块继承BeanFactory类,添加了事件处理、国际化、资源装载、透明装载、以及数据校验等功能;
还提供了框架式的Bean的访问方式和企业级的功能,如JNDI访问,支持EJB、远程调用、继承模板框架、Email和定时任务调度等

    MVC模块:主要是将视图模型和控制器分离,降低耦合,
    ORM对象关系映射模块:

依赖注入的四种注入方式
    set注入
    构造器注入
    静态工厂注入
    实例工厂注入

AOP底层运用了动态代理技术
    jdk:实现接口的思想,由poxy创建代理类,利用了反射
    cglib:继承的思想,继承目标对象,但目标对象不能被final修饰
    
    动态代理的两大特点是:没有固定目标对象,在程序运行时创建,
    我们需要先获得spring的上下文环境new ClassPathXmlApplicationContext("spring.xml");
    IOC:依赖注入,控制反转
    AOP:面向切面编程:底层是动态代理实现、(jdk(实现思想,面对接口),cglib(继承思想,面向类))
    AOP 七大特点:
    连接点:每一个方法
    切入点:匹配的方法合集
    切面:连接点与切点的集合决定了切面()
    通知:环绕通知,前置通知,异常返回通知,后置通知,方法执行后通知
    需要代理的目标对象:(增强行为)
    织入:将切面应用到目标对象并生成代理对象的过程
    引入:在不修改源代码的情况下为程序增强功能或者增加字段
    
SpringMVC模型,视图,控制器(设计思想)
这种设计思想将程序业务角色和视图分离,使他们分开,达到解耦的目的,程序改变不会互相影响
springMVC的工作流程
    1.请求由客户端发送到前端控制器
    2.DispatherServlet前端控制器对请求URL解析获取uri,调用处理器映射器HandlerMapping
    3.处理器映射器返回处理链给前端控制器(包括Handler对象以及Handler对
象对应的拦截器)
    4.前端控制器根据返回的处理链调用具体的处理器适配器HandlerAdapter
    5.处理器适配器根据请求调用具体的处理器Handler:执行Handler的方法并返回一个视图模型ModleAndView给处理器适配器
    6.处理器适配器将执行结果返回给前端控制器
    7.前端控制器接收到视图模型后,调用对应的视图解析器
    8.视图解析器解析ModleAndView,返回给前端控制器对应的view视图
    9.前端控制器再调用对应的视图渲染
    10.渲染视图后返回给前端控制器
    11.前端控制器将渲染后的视图返回给客户端
拦截器:HandlerInterceptro
    拦截用户请求的方法    (权限验证)

SSM框架集成spring springMVC Mybatis
    spring IOC和AOP负责程序的对象的创建,和面向切面编程,
    springMVC主要负责视图模型,和应用程序的解耦
    Mybatis负责连接数据库
    dao层持久层:CRUD的方法都存放在此,与Mybatis
    service层负责业务逻辑的处理
    controller层负责接收数据和响应
sprinBoot框架--主流web应用的开发-因为其多使用了注解开发,和pom的·依赖和插件,大大减少了开发时间
--是spring框架的拓展
    springboot需要配置一个启动器starter并注解@SpringBootApplication注解标注这是一个启动器@MapperScan("dao层的路径为扫描范围")
此时dao层就不需要配置@Repository注解
    springboot热部署
        导入对应的插件和依赖
打war包需要在项目id下加一个<packaing>war</packaing>
加上maven打包命令
    clean compile package -Dmaven.test.skip=true
    
@EnableCaching分布式缓存技术
swagger生成接口文档API

文件上传的注解为@MultipartConfig

Linux操作系统

log4j日志
    日志级别
    INFO:普通信息
    DEBUG人为调试信息
    WARN:警告信息
    ERROR:错误
    FATAL:系统错误
一般设置打印等级为DEBUG设置,这样就能看到所有打印信息
一般我们只看ERROR和FATAL,方便找出错的位置,导入依赖,然后在配置文件里配置上显示级别一般为DEBUG
    


数据结构中的逻辑运算符
    与&           1 & 0 = 0     
          1 & 1 = 1
          0 & 0 = 0

    或|      1 | 0=  1
          1 | 1 = 1
          0 | 0 = 0

    异或^      1 ^ 0=  1
          1 ^ 1 = 0
          0 ^ 0 = 0
带符号右移>>2(带1)
不带符号右移>>>2(不带1)

-m= (~m+1)    无论正数还是负数都通用一个逻辑,效率高

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值