Java知识点笔记(五):how2j.cn的学习(三)

本文内容的学习网站:http://how2j.cn/

1、Tomcat

Tomcat 是常见的免费的 web 服务器,8080是 Tomcat 默认使用的端口号,80端口是 web 服务默认的端口号

2、Servlet

Servlet 本身不能独立运行,需要在一个 web 应用中运行的

Servlet 需要提供一个对应的 doGet/doPost 方法,web.xml 提供路径与 servlet 的映射关系

在 Servlet 中进行服务端跳转的方式:request.getRequestDispatcher("success.html").forward(request, response);

在 Servlet 中进行客户端跳转的方式:response.sendRedirect("fail.html");

CRUD 是常见的页面功能,C - Creation 增加,R - Retrieve 查询,U - Update 修改,D - DELETE 删除

3、HTTP

HTTP(Hyper Text Transfer Protocol):超文本传输协议

请求消息由请求行,请求头部,空行和请求数据四部分组成;响应信息由状态行,消息报头,响应正文组成

4、JSP

jsp 由这些页面元素组成:静态内容,指令,表达式 <%=%>,Scriptlet,声明,动作,注释 <%-- -- %>

jsp 的客户端跳转:response.sendRedirect("hello.jsp");

jsp 的服务端跳转:request.getRequestDispatcher("hello.jsp").forward(request, response);或者<jsp:forward page="hello.jsp"/>

Cookie 是一种浏览器和服务器交互数据的方式,由服务器端创建,浏览器保存在用户本地

Session(会话):从用户打开浏览器访问一个网站开始,直到该用户关闭浏览器为止,都属于同一个会话

JSP 有4个作用域,分别是:pageContext(当前页面),requestContext(一次请求),sessionContext(当前会话),

applicationContext(全局,所有用户共享)

JSP一共有9个隐式对象,分别是:request,response,out,pageContext,session,application,page,config,exception

JSTL(JSP Standard Tag Library):标准标签库,JSTL 库有 core,i18n,fmt,sql 等等

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>,prefix="c" 表示后续的标签使用都会以<c: 开头

fmt 标签常用来进行格式化,使用之前要加上 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix='fmt' %>

fn 标签提供各种实用功能,首先使用之前使用加入如下指令<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

EL会按照从高到低的优先级顺序获取:pageContext > request > session > application

5、MVC

M 代表模型(Model),V 代表视图(View),C 代表控制器(controller)

6、Filter

Filter 就像一个个哨卡,用户的请求需要经过 Filter,并且可以有多个过滤器

7、Listener

Listener 的作用是用于监听 web 应用的创建和销毁,监听 session 和 request 的生命周期,以及它们的 attribute 发生的变化

8、Hibernate

实体类对象在 Hibernate 中有3种状态:分别是瞬时,持久和脱管

瞬时指的是没有和 hibernate 发生任何关系,在数据库中也没有对应的记录,一旦 JVM 结束,这个对象也就消失了

持久指得是一个对象和 hibernate 发生联系,有对应的 session,并且在数据库中有对应的一条记录

脱管指的是一个对象虽然在数据库中有对应的一条记录,但是它所对应的 session 已经关闭了

HQL(Hibernate Query Language)是 hibernate 专门用于查询数据的语句,比 SQL 更接近于面向对象的思维方式

使用 Criteria 进行数据查询,完全是面向对象的方式在进行数据查询,将不再看到有 sql 语句的痕迹

Hibernate 的任何对数据有改动的操作,都应该被放在事务里面

hibernate 中的事务由 s.beginTransaction(); 开始,由 s.getTransaction().commit(); 结束

在 Mysql 中,只有当表的类型是 INNODB 的时候,才支持事务

hibernate 中的延迟加载(lazyload)分属性的延迟加载和关系的延迟加载

级联有4种类型:all,none,delete,save-update,级联通常用在 one-many 和 many-to-many 上,几乎不用在 many-one 上

hibernate 默认是开启一级缓存的,一级缓存存放在 Session 上,二级缓存是在 SessionFactory 上

hibernate 本身不提供二级缓存,都是使用第三方的二级缓存插件

hibernate 里常用的注解包括类注解,属性注解,关系注解还有其他的注解

9、Spring

Spring 是一个基于 IOC 和 AOP 的结构 J2EE 系统的框架,IOC(Inversion Of Control,反转控制)是 Spring 的基础

DI(Dependency Inject,依赖注入)简单地说就是拿到的对象的属性,已经被注入好相关值了,直接使用即可

AOP(Aspect Oriented Program,面向切面编程)能够选择性的,低耦合的把切面和核心业务功能结合在一起的编程思想

10、Mybatis

使用 collection 进行一对多关系关联,property 指的是集合属性的值,ofType 指的是集合中元素的类型

使用 association 进行多对一关系关联,指定表字段名称与对象属性名称的一一对应关系

Mybatis Generator 是一个用于 Mybatis 逆向工程的工具

11、SpringBoot

注解 @SpringBootApplication 表示这是一个 SpringBoot 应用,运行其主方法就会启动 tomcat,默认端口是8080

@RestController 是 spring4 里的新注解,是 @ResponseBody 和 @Controller 的缩写

JPA(Java Persistence API)是 Sun 官方提出的 Java 持久化规范,用来方便大家操作数据库

12、Maven

Maven 是专门用于构建和管理 Java 相关项目的工具

maven 采用一个仓库,多个项目的方式,让多个项目共享一个仓库里的相同 jar 包

13、Redis

Redis 是一个开源的使用 ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库

Jedis 能方便地访问 Redis 的各种服务

14、Nginx

Nginx 是一个 web 服务器,很快速,但是不能作为 Servlet 容器独立运行,所以通常是 Nginx 配合 Tomcat 来协同工作

动静分离就是指图片,css,js 之类的都交给 nginx 来处理,nginx 处理不了的,比如 jsp 就交给 tomcat 来处理

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值