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 ...
随机推荐
- python之旅:面向对象之多态、多态性
一 多态 多态指的是一类事物有多种形态 eg:动物有多种形态:猫,狗,猪 class Animal: #动物类 def eat(self): #吃 pass def drink(self): #喝 p ...
- 预读(读取文件前几行)文件(txt,dat,csv等)程序
需求: txt.dat.csv文件很大,需要花很长的时间打开, 但实际上我们只需要查看文件的前几行,查看数据的内容和格式 exe & code : https://github.com/co ...
- (转)话说C语言const用法
const在C语言中算是一个比较新的描述符,我们称之为常量修饰符,意即其所修饰 的对象为常量(immutable). 我们来分情况看语法上它该如何被使用. 1.函数体内修饰局部变量. 例: void ...
- Netlink 介绍(译)
原文地址:http://people.redhat.com/nhorman/papers/netlink.pdf 译文: 1 介绍 在Linux和Unix的众多发行版中的网络配置功能, 都是编程者事后 ...
- Python常见初级错误
一.常见错误(编辑器:Geany) 1.错误原因:或因不兼容中文注释 2.错误原因:vehicles变量前面有多余的空格 3.错误原因:没有正确的缩进(indent)
- Linux运维二:CentOS6.6系统安装后的基本配置与优化
CentOS6.6系统安装完成后还需要做一些配置与优化: 一:Linux内核版本号介绍 查看内核版本: [root@Gin scripts]# uname -r 2.6.32-504.el6.x86_ ...
- 项目经验总结-first
1. org.apache.commons.lang中StringUtils判空使用经验之谈 StringUtils.isEmpty(String str) 判断字符串str是否为空串且是否长度为0, ...
- Hadoop部署方式-完全分布式(Fully-Distributed Mode)
Hadoop部署方式-完全分布式(Fully-Distributed Mode) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本博客搭建的虚拟机是伪分布式环境(https://w ...
- Docker容器加载宿主机的hosts解析
前言 公司一直在用传统的tomcat下丢war包的架构体系,随着项目的增多.服务器数量的增多.需要为此花费很多时间在不同服务器的系统环境问题上.为了技术的与时俱进和工作的运维效率等方面,笔者引入doc ...
- 多角度看.NET面试题
1.ASP.NET中的身份验证有那些?你当前项目采用什么方式验证请解释 身份验证是从用户获取名称和密码等标识凭证并根据某些机构验证这些凭据的过程.如果凭据有效,则提交该凭据的实体被视为通 ...