您的位置:首页 > 编程语言 > Java开发

Java基础知识总结

2017-03-20 00:00 225 查看
摘要: 属于初级水平的概念性总结,大神请无视,不定期更新。
此篇主要涵盖:servlet jsp spring mybatis

2017.3.20-------------------------------------

Servlet如何处理HTTP协议

如何控制通信数据:HTTP协议在Web容器这端主要表现为通信数据的到达以及响应数据的返回。于是Web容器将这两部分数据解释为两个对象,一个是与请求数据对应的HttpServletRequest对象,一个是与响应数据对应的HttpServletResponse对象。对于Servlet来讲,主要的业务逻辑过程就是从请求对象中获取数据,经过加工后将结果附着在响应对象中发送回客户端。
Servlet运行的步骤
Servlet作为Web服务器的补充功能在运行时需要受到Servlet容器的管理,其运行的流程如下:
浏览器依据IP建立与容器的连接。浏览器将请求数据打包。容器解析请求数据包,封装request和response对象。容器依据请求资源路径找到Servlet创建对象。容器将request和response对象作为参数传入service方法,并调用。容器将响应数据打包发给浏览器。浏览器取出结果,生成页面

JSP的由来:用于将Servlet中负责显示的语句抽取出来。

什么是?以“.jsp”为后缀的文件中既包含HTML静态标记用于表现页面,也包含特殊的代码,用于生成动态内容。JSP作为简化Servlet开发的一种技术,实质上最终依然要转变为Servlet才可能运行,只不过这个转变过程由Servlet容器来完成。所以遵循JSP的编写规范才能使得JSP转变为需要的Servlet。
如何编写JSP:步骤一、创建一个以“jsp”为后缀的文件。步骤二、在文件中添加用于控制页面显示的HTML代码、样式及JavaScript脚本。。步骤三、在需要动态生成的部分添加Java代码的编程逻辑

EL表达式,jstl标签

使用简单的标签来表现复杂的逻辑以及使用简单的形式表现运算的关系就是EL表达式和JSP标签出现的原因.
=el表达式
一套简单的运算规则,用于给JSTL标签的属性赋值,也可以直接用来输出而脱离标签单独使用。
${user.name}
=JSTL
(JSP Standard Tag Library)jsp标准标签库。jsp标签是sun公司定义的一套标准
如何用?将标签库对应的jar包拷贝到WEB-INF/lib目录下,以便于系统可以加载所需要的类。使用taglib指令在页面上引入标签的命名空间和前缀,帮助系统定位对应的类。
如:<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
标签的运行原理:容器依据JSP页面中的uri找到tld文件(依据标签中的<c1:hello>hello这个名字找到标签类tag.HelloTag。接下来实例化该标签,同时属性值赋给参数,调用doTag方法。

Spring框架的作用和优点如下:

1. Spring是一个开源的轻量级的应用开发框架,其目的是用于简化企业级应用程序开发,减少侵入;
2. Spring提供的IoC和AOP应用,可以将组件的耦合度降至最低,即解耦,便于系统日后的维护和升级;
3. Spring为系统提供了一个整体的解决方案,开发者可以利用它本身提供的功能外,也可以与第三方框架和技术整合应用,可以自由选择采用哪种技术进行开发。
IOC(Inversion of control)控制反转,对象的获取方式由new,变为第三方框架创建、注入(DI),它降低了对象间的耦合度。

DI(依赖注入)有两种方式:Setter注入、构造器注入。

set方法:1.创建bean,创建类,写set方法 2.配置文件applicationContext.xml中声明这个bean,<!-- setter注入 -->
<bean id="computer" class="com.bean.Computer">
<property name="ram" value="金士顿"/>
</bean> 3.test测试方法
构造器注入:1.创建bean。
public MobilePhone(String cpu, String ram) { this.cpu = cpu; this.ram = ram;}
2 .xml中声明这个bean,<!--构造器注入 -->
<bean id="phone" class="com.bean.MobilePhone">
<constructor-arg index="0" value="ARM"/>
</bean>

Spring Web MVC的工作流程如下:

1. 浏览器发出spring mvc请求,请求交给前端控制器DispatcherServlet处理。
2. 控制器通过HandlerMapping维护的请求和Controller映射信息,找到相应的Controller组件处理请求。
3. 执行Controller组件约定方法处理请求,在约定方法中可以调用Service和DAO等组件完成数据库操作。约定方法可以返回一个ModelAndView对象,封装了模型数据和视图名称信息。
4. 控制器接收ModelAndView之后,调用ViewResolver组件,定位View的JSP并传递Model信息,生成响应界面结果。

MyBatis使用步骤:

导包
创建MyBatis主配置文件
创建实体类
创建映射文件(要执行的sql)
创建数据访问组件

spring集成mybatis

导包,配置文件SqlSessionFactoryBean,实体类,映射文件,mapper映射器,在spring配置文件中配MapperScannerConfigurer,测试 启动spring容器 调用getBean方法

jQuery对ajax的支持

$.ajax({
url请求地址 ;type请求类型 如get ;data ;dataType ;success ;error ;
});

AOP(Aspect Oriented Programming)面向切面编程

博客理解:将日志记录,性能统计,安全控制,事务处理,异常处理等代码从业务逻辑代码中划分出来,通过对这些行为的分离,我们希望可以将它们独立到非指导业务逻辑的方法中,进而改变这些行为的时候不影响业务逻辑的代码。
AOP能够将那些与业务无关,却为业务模块所共同调用的逻辑或责任,例如事务处理、日志管理、权限控制等,封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可操作性和可维护性。
也可以这样理解:springAOP 是将有共同处理的业务,从传统的业务中抽离出来,单独的封装,通过注解配置的方式作用于系统。
理解切面:对系统service下所有方法追加相同的功能处理。
为什么有AOP?—— 在不修改系统业务逻辑的前提下,给系统追加功能。

2017.3.20------------------------------------

1.TCP:通俗理解用来建立可靠的连接,每发一个包都确定对方收到后,才继续下一步,建立虚拟的通道。
TCP专门提供可靠的、端到端的字节流通信的协议。它是一种面向连接的协议。tcp连接是字节流而非报文流。
UDP:通俗理解好比发电报,不管对方收着没有,是一种不可靠的连接。
UDP-向应用程序提供一种发送封装的原始IP数据报的方法、并且发送时无需建立连接。是一种不可靠的连接。
总结:tcp可靠,慢;udp不可靠,快。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Java