javaweb笔记一
内连接(自然连接): 只有两个表相匹配的行才能在结果集中出现
外连接: 包括 (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笔记一的更多相关文章
- JavaWeb笔记——三大组件之过滤器
过滤器JavaWeb三大组件之一,它与Servlet很相似!不它过滤器是用来拦截请求的,而不是处理请求的. 当用户请求某个Servlet时,会先执行部署在这个请求上的Filter,如果Filter“ ...
- JavaWeb笔记——三大组件之监听器
1 JavaWeb监听器概述 在JavaWeb被监听的事件源为:ServletContext.HttpSession.ServletRequest,即三大域对象. l 监听域对象“创建”与“销毁”的 ...
- javaweb笔记4之httpservlet
1 httpservlet简介 service方法是Servlet的入口方法,调用servlet会首先调用service方法.在service方法中,会根据请求方式分别调用不同的doXXX方法.例如, ...
- JavaWeb笔记一、Servlet 详解
一.创建一个 Servlet 简单实现类 1.创建一个 HelloServlet 类(测试 Servlet 接口方法) 1 //创建一个 HelloServlet 类并实现 Servlet 接口 2 ...
- javaweb笔记—04(预编译和泛型)
预编译:ps对象1.ps可进行预编译,占位符传值,性能高于sta的(数据库驱动层有优化)2.比较灵活,数据库将预编译的SQL缓存了,第二次访问,就不用预编译,直接执行.3.较为安全,不会发生SQL注入 ...
- javaweb笔记七
过滤器:是一个web中间组件,用于拦截从客户端发送给服务器的请求和响应.当客户端向服务器发出请求时,服务器会查看是否有过滤器和该请求匹配,如果有,则交给过滤器执行,业务操作后,可以将请求继续向目标资源 ...
- javaweb笔记全套
Lesson 1 一.eclipse工具的使用 1. java代码的位置 1) 选择工作空间 workspace 选择一个文件夹存放程序(代码) 不要用中文和空格 2) 新建一个java 工程(Pr ...
- javaweb笔记分享
Lesson 1 一.eclipse工具的使用 1. java代码的位置 1) 选择工作空间 workspace 选择一个文件夹存放程序(代码) 不要用中文和空格 2) 新建一个java 工程(Pr ...
- 超全面的JavaWeb笔记day21<过滤器>
1.过滤器的原理 2.实现过滤器 写一个类实现javax.servlet.Filter接口 在web.xml中对Filter进行配置 3.Filter接口 void init(FilterConfig ...
随机推荐
- 【bzoj2754】【scoi2012】喵星球上的点名
题解们: 1.首先可以被很多暴力给搞过去:我以前也是这样水过去的 2.ac自动机 2.1 抽离fail树 对点名建自动机,建$fail$树的时候只保留询问节点: 对于一个喵,子串==在自动机里匹配到的 ...
- golang json 编码解码
json 编码 package main import ( "encoding/json" "fmt" ) type Person struct { Name ...
- Eureka的一些注意事项
1.心跳设置:只能在application.yml中 2. 注册到Eureka上面的服务名称 与swagger2使用的时候,需要配置此项,否则显示服务名称为unknown 3.高可用的Eureka 4 ...
- python的map函数的使用方法详解以及使用案例(处理每个元素的自增、自减、平方等)
1.用我们之前学过的求一下平方(只有一个列表) #求平方 num=[1,5,6,2,7,8] a=[] for n in num: a.append(n**2) print (a) C:\python ...
- Go_19: Golang 中错误与异常需要重新认识
如何进行错误处理,这是一个Go程序员之间,特别是一些新的Go程序员,会经常讨论的问题.讨论到最后往往由于以下代码的多次出现而变成了抱怨. if err != nil { return err } 我们 ...
- 最新的IDEA激活方式
IntelliJ IDEA2017.3 激活 转自:http://blog.csdn.net/zx110503/article/details/78734428 最新的IDEA激活方式 使用网上传统的 ...
- [Java] 集合框架原理之二:锁、原子更新、线程池及并发集合
java.util.concurrent 包是在 Java5 时加入的,与 concurrent 的相关的有 JMM及 AbstractQueuedSynchronizer (AQS),两者是实现 c ...
- 支持iis高并发
支持高并发的IIS Web服务器常用设置 适用的IIS版本:IIS 7.0, IIS 7.5, IIS 8.0 适用的Windows版本:Windows Server 2008, Windows ...
- 动态规划:POJ 3616 Milking Time
#include <iostream> #include <algorithm> #include <cstring> #include <cstdio> ...
- hdu 1253 胜利大逃亡 (广搜)
题目链接 Problem Description Ignatius被魔王抓走了,有一天魔王出差去了,这可是Ignatius逃亡的好机会. 魔王住在一个城堡里,城堡是一个ABC的立方体,可以被表示成A个 ...