内连接(自然连接): 只有两个表相匹配的行才能在结果集中出现
外连接: 包括 (1)左外连接(左边的表不加限制) (2)右外连接(右边的表不加限制) (3)全外连接(左右两表都不加限制

一个空的构造器,不是必须要有的,只是我们在编程的时候习惯性的加上这么一个方法,这是一个良好的习惯。
另外,这样做肯定是有好处的,如果你的一个类写了带参的构造方法,而没有写空的构造方法,那么,如有有一个类继承了你这个类,
那么这个类必须重写那个带参的构造方法,不写就会报错,所以这就会带来不必要的麻烦,所以我们一般都会写一个空的构造方法,
//根据类的全路径加载该类
Class c = Class.forName(path);
//调用加载类的无参构造函数,产生该类的对象
Object obj = c.newInstance();

jdbc是java连接数据库的一套标准。该标准中定义了一系列的接口,有数据库厂根据自己数据库的特点提供实现类。开发者根据接口调用
厂商提供实现类的方法。这样,无论连接什么样的数据库都是一套API,可以屏蔽不同数据库的差异。
jdbc开发流程:1.加载驱动 2.建立连接 3.执行SQL语句 4.关闭连接

访问tomcat业务组建的三种方式:表单,超链接,流中直接写
工厂模式:将对象的创建,与对象的使用分开进行,其中主要目的是为了解耦。

http:超文本传输协议,(1)遵循请求/响应模型
(2)http协议是一种无状态协议,请求/响应完成后,连接会断开。这时,服务器无法知道当前访问的用户是否是老用户。
所以,服务器会认为每个请求的用户都是新用户。(3)80端口
推送模型:没有请求也会发送给客户端。

http协议处理流程:
1、客户端和服务器建立连接
2、客户端向服务器发送请求
3、根据客户端请求,服务器响应请求
4、关闭连接

按照http协议,请求信息分为四部分:(客户端发送给服务端看的)
1、请求行 描述请求方式、请求的URL路径、http协议的版本(POST / http/1.1)
2、请求头 描述客户端相关的信息
3、空行 标识请求头的结束和消息体的开始
4、消息体(POST才有) 描述表单数据

响应信息分为四部分:
1、状态行 描述http协议版本号,状态码,状态描述
2、响应头 描述服务器相关的信息
3、空行 标识响应头的结束和消息体的开始
4、消息体 描述响应信息的主体内容,该内容交给客户端浏览器解析后显示出来,通常是html标记。

MIME类型:用于描述传输数据的格式。常见的有:text/html标记文本
text/xml xml格式的数据 image/jpeg 图片格式等
接收方在读取到MIME类型后,就可以知道,以什么方式来解析接收的数据。
http协议中,请求方式一共有8种,最常见的是GET和POST两种

辅助应用:传统的WEB服务器在产生响应时,只能产生静态的HTML数据,极大限制了响应的灵活性。解决方案是,在web服务器后,添加辅助应用。
辅助应用可以根据请求信息,进行一系列的业务操作。然后,以数据库作为存储介质,动态产生信息。

java利用web容器+servlet解决辅助应用。由web容器完成底层操作,然后预留servlet接口,交给开发者完成业务操作。
web容器的作用:
1、通信支持 web容器可以将请求信息和响应信息,封装成请求对象和响应对象。然后可以通过一些方法,得到请求和响应信息中的内容。
2、Servlet生命周期管理 web容器需要产生开发者书写的Servlet业务组建对象,并调用其中的业务方法,以及完成Servlet对象销毁。
3、多线程处理 完成多任务处理,线程的产生、启动、方法调用、都由web容器完成。
4、jsp支持 完成对jsp引擎的编写。
5、安全性处理。

servlet规范,web容器+servlet结构出台以后,底层部分通常由容器产商封装成容器产品。由于产品差异,开发者开发web应用程序时,
只能按指定的容器书写代码。这样,使得web应用程序不具有移植性。一旦系统升级,需要更换容器时,无法做到同一个web应用程序。
在不同的容器中运行。为了规范web容器,sun公司制定了servlet规范,该规范提供了一些列的接口,由容器产商实现,由开发者根据
接口调用方法。可以屏蔽不同容器的差异,同一个web应用程序即使更换web容器也能运行。

javaweb应用程序组成:配置文件,静态文件和jsp,类文件和包。
web应用程序中必须包含一个WEB-INF目录,按照servlet规范规定,目录中的内容不能被客户端直接访问,存放比较
隐密的信息。包含一些收费的,以及classes存放开发者书写的业务组件的class组件。
web应用程序(WebContent):
*.jsp
*.html
*.js
*.css
*.jpg
......
WEB-INF
classes
lib
web.xml(完成WEB组件的注册)

tomcat目录结构:
bin:存放可执行文件(startup.bat:启动tomcat;shutdown.bat:关闭tomcat)
conf:存放tomcat配置文件。(server.xml:描述tomcat服务器相关信息)
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/> //描述tomcat启动端口,如果该端口设置为
80端口,客户端访问时,可以在浏览器只输入IP地址,不用输端口。
<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true"> //appBase属性用于描述web应用程序存放的目录,默认为webapps。
web.xml:描述tomcat中web应用相关的信息。
lib:存放tomcat运行时所用的jar包。
logs:存放日志文件。
temp:存放临时目录。
webapps:存放web应用程序。
work:对jsp的支持目录。

javaweb笔记一的更多相关文章

  1. JavaWeb笔记——三大组件之过滤器

    过滤器JavaWeb三大组件之一,它与Servlet很相似!不它过滤器是用来拦截请求的,而不是处理请求的.  当用户请求某个Servlet时,会先执行部署在这个请求上的Filter,如果Filter“ ...

  2. JavaWeb笔记——三大组件之监听器

    1 JavaWeb监听器概述 在JavaWeb被监听的事件源为:ServletContext.HttpSession.ServletRequest,即三大域对象. l  监听域对象“创建”与“销毁”的 ...

  3. javaweb笔记4之httpservlet

    1 httpservlet简介 service方法是Servlet的入口方法,调用servlet会首先调用service方法.在service方法中,会根据请求方式分别调用不同的doXXX方法.例如, ...

  4. JavaWeb笔记一、Servlet 详解

    一.创建一个 Servlet 简单实现类 1.创建一个 HelloServlet 类(测试 Servlet 接口方法) 1 //创建一个 HelloServlet 类并实现 Servlet 接口 2 ...

  5. javaweb笔记—04(预编译和泛型)

    预编译:ps对象1.ps可进行预编译,占位符传值,性能高于sta的(数据库驱动层有优化)2.比较灵活,数据库将预编译的SQL缓存了,第二次访问,就不用预编译,直接执行.3.较为安全,不会发生SQL注入 ...

  6. javaweb笔记七

    过滤器:是一个web中间组件,用于拦截从客户端发送给服务器的请求和响应.当客户端向服务器发出请求时,服务器会查看是否有过滤器和该请求匹配,如果有,则交给过滤器执行,业务操作后,可以将请求继续向目标资源 ...

  7. javaweb笔记全套

    Lesson 1 一.eclipse工具的使用 1. java代码的位置 1) 选择工作空间 workspace  选择一个文件夹存放程序(代码) 不要用中文和空格 2) 新建一个java 工程(Pr ...

  8. javaweb笔记分享

    Lesson 1 一.eclipse工具的使用 1. java代码的位置 1) 选择工作空间 workspace  选择一个文件夹存放程序(代码) 不要用中文和空格 2) 新建一个java 工程(Pr ...

  9. 超全面的JavaWeb笔记day21<过滤器>

    1.过滤器的原理 2.实现过滤器 写一个类实现javax.servlet.Filter接口 在web.xml中对Filter进行配置 3.Filter接口 void init(FilterConfig ...

随机推荐

  1. 【题解】【THUSC 2016】成绩单 LOJ 2292 区间dp

    Prelude 快THUWC了,所以补一下以前的题. 真的是一道神题啊,网上的题解没几篇,而且还都看不懂,我做了一天才做出来. 传送到LOJ:(>人<:) Solution 直接切入正题. ...

  2. GO_08:GO语言基础之interface

    接口interface 1. 接口是一个或多个方法签名的集合 2. 只要某个类型拥有该接口的所有方法签名,即算实现该接口,无需显示声明实现了哪个接口,这称为 Structural typing 3. ...

  3. pyqt5的代码

    sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003& ...

  4. 经典Dialog插件Layer

    Github上只有一个test,所以最好还是到官网去学习,官网的示例写的很详尽,难得一见的设计思路和灵活性都极好的插件.下面是我自己test过的demo <!DOCTYPE html> & ...

  5. 通过xshell/securecrt连接linux上传/下载文件

    通过ssh等客户端连接远程linux总会有上传下载的需求,这里分别用Ubuntu和centos展示安装lrzsz软件的命令,使用命令是一致的,这里简单写 1.安装: centos:(注:参数-y中的意 ...

  6. 用代码从文件中导入数据到SQL Server

    引言 导入数据到SQL Server 是常见的需求,特别是定期导入这种需求. 对于定期导入主要有以下几种方式可选择: Bulk Insert Bcp Utility OpenRowSet 写程序导入( ...

  7. zabbix lld使用trapper方式(zabbix_sender)

    自动发现脚本文件输出格式: { "data": [ { "{#BIND_PERF}": "BIND INCOMING QUERY" }, { ...

  8. 【leetcode 简单】 第九十五题 数字转换为十六进制数

    给定一个整数,编写一个算法将这个数转换为十六进制数.对于负整数,我们通常使用 补码运算 方法. 注意: 十六进制中所有字母(a-f)都必须是小写. 十六进制字符串中不能包含多余的前导零.如果要转化的数 ...

  9. flask配置日志输出文件

    1.flask可以通过日志库来指点日志输出的路径, 配置日志输出的连接:www.gaodin.com

  10. 支付宝hr终面,忐忑的等待结果

    上周一,内推网投了支付宝上海的 高级java软件开发工程师:阿里效率就是高,不到30分钟电话就过来了!约的上周五14:00面试:上周五技术面了2轮,第一轮是主管面试,貌似给了p6;第二轮部门总监面试, ...