首页 > 其他 > 详细

二次重刷SSM,回顾知识点

时间:2020-05-31 10:31:10      阅读:89      评论:0      收藏:0      [点我收藏+]

Java web

三大组件servlet filter listener

servlet处理请求

filter 过滤器

listener监听器

三大组件基本都要在web.xml中进行注册;除了listener中的两个(活化钝化监听器,绑定监听器)需要Javabean实现。不注册外,剩下的三大组件都需要注册;

filter

配置:

url-pattem 的三种写法:

1.精确匹配:/com/kuang/inse.jsp 直接拦截指定的路径

2.路径匹配: /kuang/* 拦截kuang下的所有请求

3.后缀匹配:*.jsp

不能组合使用

filter原理

dofilter(){//放行请求

chain.doFliter(request,response);

}

Lisetener 监听器

八个

ServletRequset(2),HttpSession(2),ServletConext(2)

2:生命周期监听器 ,属性变化监听器

4:活化钝化

生命周期监听器,监听服务器启动停止,启动创建,停止销毁

ServletConext:1.一个ServletContext,他代表当前的web项目的信息

2.还可以作为最大的域对象在整个项目运行期间共享数据

实现

1.实现监听器的接口

2.去web.xml中进行配置

Ajax 和json

json

{key:value}

value: 可以有很多种

1:基本的类型(字符串,数字,布尔值)

2:数组

{listname:"李四",books:[张三,{},19]}

3:对象

使用方法

<script type="text/javascript">

var student ={lastName:"张三",age:18};//用逗号隔开

var student2 ={lastName:"张三",age:18,car{对象}};

var student 3={lastName:"张三",age:18,car{对象},infos:[{bookname:"王五"},13,"王五"];

</script>

如果要获取13

alert(student3,infos[1])

//JSON(js内置的对象,将js对象转化为json字符串)

var strJSon=JSON.stringify(student2);

alert(strJSon);

再转化成对象

var strJSon2=JSON.parse(strJSon);

ctrl+shift+f是快速格式化好看

jQuery-AJAX

页面无刷新

$.get()

$.post()

$.ajax()

<%=new Data()%>添加一个日期

spring

是一个容器,管理很多的组件

技术分享图片

几大模块:

Test:测试模块

Cor Container:核心容器,黑色的表示该功能由那些jar包组成要使用这个部分完整的功能,这些jar包都需要完整的导入

AOP+Aapects :面向切面编程

data access:数据访问与集成模块

web:模块

spring

IOC (容器-mybatis等) AOP(面向切面编程)-》声明式事务

ioc:主动的new资源变为被动的接收(这就是控制反转)

控制反转 :资源获取方式1.主动式,要什么资源自己创建即可2.被动式:BookServlet资源的获取都不是我们创建,而是交给一个容器来创建和设置

(类似社会主义高级阶段)

DI依赖注入:容器能知道那个组件(类)运行的时候,需要另一个类(组件);容器通过反射的形式,将容器中准备好的对象注入;

只要容器管理的类,都能使用容器提供的强大功能

consolas

配置文件的使用

 <bean id="possen01" class="com.lei.pojo.poseen">
 <property name="name" value="张三"/>
     <property name="age" value="22"/>
     <property name="xingbie" value="1"/>
 </bean>                        
    //使用get和set方法赋值
 <bean id="possen03" class="com.lei.pojo.poseen">
     <constructor-arg name="name" value="dd"  ></constructor-arg>
     <constructor-arg name="age" value="22"></constructor-arg>
     <constructor-arg name="xingbie" value="1"></constructor-arg>
 </bean>
  //使用构造器的方法赋值

正确的给元素赋值null

 </bean>
     <bean id="possen02" class="com.lei.pojo.poseen">
         <property name="name" value="张三"/>
         <property name="age" ><null/></property>
         <property name="xingbie" value="1"/>
     </bean>

使用list注入值

 List<Car> list;
 </bean>
 <bean id="possen01" class="com.lei.pojo.poseen">
     <property name="name" value="张三"/>
     <property name="age" value="22"/>
     <property name="xingbie" value="1"/>
     <property name="list">
         <list>
             <bean id="calcal" class="com.lei.pojo.Car">
                 <property name="name" value="sle"></property>
                 <property name="age" value="12"></property>
             </bean>
             <ref bean="car01"/>
         </list>
     </property>
 </bean>

配置信息继承

 <bean id="possen02" class="com.lei.pojo.poseen" parent="possen01"></bean>

抽象用法(当bean中有abstract的时候,这个bean是一个抽象的不能获取实例,只能被别人继承)

 <bean id="possen01" class="com.lei.pojo.poseen" abstract="true"></bean>

作用域

 <bean id="possen01" class="com.lei.pojo.poseen" scope="prototype"></bean>

prototype:多实例的

(1.构造器启动时不会创建多实例的bean

2.每次获取的时候都会创建这个bean

3.每次获取都会创建一个新的对象)

singleton:单实例

(1.在容器启动完成之前就创建完成对象的创建保存在容器中了

2.任何时候使用都是使用已经创建好的对象了)

FactotyBean

只要是这个接口的实现类,Spring都认为是一个工厂

是spring认识的工厂类

UUID.randomUUID().toString()生成:44e128a5-ac7a-4c9a-be4c-224b6bf81b20

自动装配

autowire=“byName”按照属性名赋值,找不到就装配null

autowire=“byType”按照属性类型赋值,如果容器中有多个这种类型的组件,报错

autowire=“byName”按照属性名赋值,找不到就装配null

注解

Spring上有四个注解

@Controller:控制器,我们推荐给控制器层(Servlet包下的一些)的组件加这个注解;

@Service:控制器;我们推荐业务逻辑层的组件添加这个注解;BookService

@Repository:数据库层(持久化层,dao层)的组件添加这个注解;

@Component:给不属于以上几层的组件添加这个注解;

spring底层不会验证注解,注解主要是给程序员看的

添加的步骤

1)给要添加的组件上标四个注解的任何一个;

2)告诉spring,自动扫描加了注解的组件;依赖context名称空间

<context:component-scan base-backage="com.kuang"></context:component-scan>

在测试类中id默认就是类名首字母小写

或者用@Repository(“”)来指定一个名字

<context:component-scan base-backage="com.kuang"><!--扫描的时候排除一些不要的组件,type="annotation"指定排除规则,expression注解的全类名-->
<context:exclude-filer type="annotation" expression="com."/>
</context:component-scan>

依赖注入:自动装配@Auotweired

不用使用set不用new

@Qualifier(“xxx”),现在使用xxx作为变量名

@Auotweired(required=false)找不到东西的时候,就赋值null

 

二次重刷SSM,回顾知识点

原文:https://www.cnblogs.com/Liguangyang/p/12996328.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!