java基础

Posted zhulibin2012

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java基础相关的知识,希望对你有一定的参考价值。

见文件中

 

Beanxml配置

1.bean的初始化方式

三种方式: 默认构造器,静态工厂初始化(了解)和实例工厂初始化(了解)

技术图片 

 

2.springbean的作用域

 Bean默认作用域是单实例的

 

技术图片 

可以设置非单实例

技术图片 

作用域介绍:

技术图片 

比如:将作用域设置request时,原理是在request对象创建好后调用,request.setAttribute(bean4,ctx.getBean(bean4))

技术图片 

Bean的生命周期

技术图片 

技术图片 

注意: springbean容器关闭后才会调用销毁方法。

 

2.Bean的属性注入

两种方式: 构造器注入和属性注入

技术图片 

1) 构造器注入

配置文件

技术图片 

Java

技术图片 

1. bean的初始化使用有参数构造器时,需要同时给属性赋值,这时就叫做bean的属性注入,bean的初始化方式还是构造方法。

2setter注入

技术图片 

配置实例

技术图片 

复杂属性注入

1. list注入

技术图片 

2.map属性注入

技术图片 

Property注入

技术图片 

3)团队开发

技术图片 

Bean的注解配置

@Autowiredqualifier(“”)注解可以使用Resource替代.

 

Spring整合junit

 

 

Classpath: 指定项目的根路径

@RunWith: 使用springJunit类加载器

@ContextConfiguration: 指定配置文件

技术图片 

注意: @Autowired根据类型自动注入,如果类型是接口,那么会默认找到实现类.如果有多个实现类则会抱错

技术图片 

AOP

技术图片 

Xml文件操作

Schema约束

w3chttp//www.w3.org/2001/XMLSchema-instance,这个是w3预定义的命名空间。客户可以根据这个名称空间创建自己的约束文档。就w3定义了一个标准接口一样,实现这个接口可以具备自定义约束文档的能力,比如:<complexType>这个标签就是w3预定义的标签,用于客户实现自己的约束文档。用户做完自己的约束文档后就可以在实例文档中使用这个约束文档,创建对应的配置文件。

即定义自己的约束文档然后使用的过程是:

自定义约束文档: 引入w3预定义命名空间,使用其内的标签定义自己的约束标签。

实例文档: 引入预定义命名空间,引入自定义明明空间和位置。使用自定义标签进行配置,从而完成配置文件作用。

技术图片 

使用实例:

如下:

 1xmls引入自定义命名空间 2xmlnsxsi:引入预定义命名空间 3xsischemalocation:引入自定义空间位置

技术图片 

 

Xml解析

技术图片 

技术图片 

Servlet

技术图片 

技术图片 

注意: servletConfig可以获取配置文件(xml文件)中配置的servlet对象的初始化参数。

技术图片 

url-pattern

 

 

技术图片 

缺省servlet

技术图片 

注意:tomcat目录下有一个默认web.xml文件,当部署项目时默认读取项目下的web.xml文件,如果读取不到则会到全局web.xml中寻找。全局中配置默认缺省servletjspServlet

ServletContext

技术图片 

技术图片 

servletContext三个作用

1. 获取初始化参数(不重要,忽略)

2. 获取web中任何资源的路径

技术图片 

实例:如下所示,a.txtb.txt, c.txt都是可以获取的。d.txt无法获取是因为其没有发布到tomcat下。

技术图片 

补充: classpathsrc下的java文件编译后的classes文件夹目录下。

技术图片 

3. 域对象

技术图片 

技术图片 

Response

技术图片 

设置响应信息

通过writer响应文本信息

技术图片 

注意:setContentType是设置response查询码表和设置头的两个结合。

响应图片

技术图片 

文件下载

技术图片 

代码实例:

前端:

技术图片 

后台:

技术图片 

技术图片 

文件下载中文文件名乱码

技术图片 

技术图片 

如上代码: 因为getMimeTypegetRealPath不需要对文件名解码,因为不在网络上传输,所以不需要解码,所以直接使用文件名字符串即可。但是setHeader(“Content-Disposition”“attachmetnfilename=+filenameEncoder)这段代码需要在网络上传输并通过浏览器默认解码,所以需要使用文件名进行解码。

Request

1. 请求转发

servlet1无法解决这个问题是,但是servlet2可以解决,那么就调用请求转发.servlet2处理并返回.

技术图片 

2. request中文乱码

原因分析及解决:

技术图片 

解决代码:

技术图片 

Cookiesession

概念:会话技术就是一个解决记录客户端状态的技术

技术图片 

:

技术图片 

Cookie技术

技术图片 

设置cookie携带的条件

技术图片 

代码示例:

技术图片 

Session

 

技术图片 

图示:

技术图片 

 

技术图片 

Jsessionid持久化---手动创建一个JSESSIONID持久化的cookie即可让jsessionid持久化磁盘,原理是jsessionid只是一个cookie,即让cookie持久化.

技术图片 

ThreadLocal

Threadlocal为每个线程创建了一个副本,这样可以存储全局变量.

 

技术图片 

使用threadlocal

技术图片 

事务

技术图片 

技术图片 

技术图片 

监听器Listenner

技术图片 

技术图片 

1. servletContextListener使用

技术图片 

使用监听器:

技术图片 

这样就可以观察到当servletContext创建时会打印出context创建了......

作用:

技术图片 

B.比如加载spring的配置文件:  就是通过配置监听器加载配置文件的.

技术图片 

C.执行定时任务

技术图片 

其余5个监听器与以上同理

2.6+2中的2监听器

技术图片 

绑定与解绑监听器

技术图片 

使用方法:

1. 将放到session中的对象实现监听器,不需要配置到web,因为此对应使用时自己进入到内存中.

技术图片 

2. 创建servlet放入session:

技术图片 

存入Session中的对象的盾化与活化

使用方法:

1. 被盾化与活化的对象实现对应监听器

技术图片 

2. 对象活化

盾化和活化时机:默认是服务器正常关闭时,存储在session中的对象(实现了盾化活化接口)会自动盾化到文件中. 当服务器启动后,再次调用servletsession取出对象时,会被活化.

也可以配置文件配置对象盾化和活化的时机.

邮件发送

邮件发送过程

技术图片 

Filter过滤器

技术图片 

过滤器实例

1. web.xml中配置过滤器,/*代表过滤所有servlet 技术图片

2. Filter

技术图片 

3. servlet

技术图片 

Filter图解

: filter1filter2哪个先执行和mapping的顺序有关系

技术图片 

Filter配置

1.urlmap

技术图片 

3. Dispatcher

技术图片 

Filter作用

技术图片 

自动登录分析

技术图片 

基础加强

1. 类加载器

技术图片 

A.类加载器获取classpath下任意内容

技术图片 

注意: 可以通过ClassLoader可以获取classpath下的所有内容.

技术图片 

SpringMVC

1.整体架构

1. 流程图

技术图片 

2. 流程细节图

技术图片2.Web.xml配置文件

技术图片 

3. 返回值方式

技术图片 

2.异常处理

异常图解:

技术图片 

异常使用:

实现以下类,并将此类实例化交由spring处理.即在web.xml中进行配置.

技术图片 

完整版

技术图片 

4. 上传图片

5. restful风格

技术图片 

6.

以上是关于java基础的主要内容,如果未能解决你的问题,请参考以下文章

java语法基础,具体内容

Java基础(十五):异常处理

java基础测试题

Java基础| Java概述与基础语法案例

夯实Java基础系列目录

一道java基础理论题