javaWeb
第一章:javaWeb基础
软件结构体系 1.c/s
什么是c/s:client(客户端)/server(服务器端),也可以叫桌面应用程序,需要下载安装的程序。例如:QQ,迅雷 c/s程序特点:cs必须开发客户端和服务器端优点:安全
缺点:客户端和服务器端都必须更新,效率低
2.b/s
什么是b/s:browser(浏览器)/server(服务器),也可以叫internet程序,不需要下载安装的程序。
例如百度,新浪 b/s程序的特点:只需要开发服务器端优点:只要更新服务器端,效率高缺点:不安全
web资源 1.动态网页
在任何时候,不同地点,不同的人,显示内容不一样可以与网页交互
总结:网页的数据都是从后台数据库得到的
2.静态网页
在任何时候,任何地点,任何人打开网页都是一样总结:输入的数据不是从后台数据库检验得到的
web服务器 收费版
1.weblogic(oracle):适合大型的web程序的使用
2.websphere(IBM):适合大型的web程序的使用
免费
1.tomcat(apache):适合大多数企业的使用
tomcat
tomcat是一个web容器,web服务器,tomcat7.0 对应servlet3.0
1.tomcat下载
①打开百度,输入tomcat
②打开tomcat首页,找到download下载
③找到相应版本下载
2.tomcat目录介绍
bin:批处理(命令)
startup.bat 启动tomcat shutdown.bat 关闭tomcat conf
context.xml:配置连接池的时候的数据源需要在这里配置 logging.properties: 解决tomca的t乱码 tomcat-user.xml:用过登录管理程序的项目 server.xml:端口号在这里可以修改 web.xml:session死亡时间配置和mime文件配置 lib
tomcat工作需要的jar和程序员的程序需要的jar logs
tomcat工作日志,和对Tomcat的操作日志
temp
tomcat工作的临时文件
webapps
tomcat自带的五个程序
work
程序里的jsp翻译成jsp.java的源码在这里可以看到
3.tomcat的使用
1.配置环境变量:计算机->属性->高级系统设置->高级->环境变量->系统变量->新建变量名:JAVA_HOME 注意:变量是jdk的bin目录上一级
2.tomcat乱码:打开tomcat的目录conf里的logging.properties这个文件的代码
java.util.logging.ConsoleHandler.encoding = UTF-8把utf-8这个值改成GBK 3.访问tomcat首页:http://localhost:8080
手动创建javaWeb项目
javaWeb项目的基本结构,在webapps文件里创建项目
myFirstWeb
WEB-INF 客户端无法访问,安全的 lib 放jar classes 放字节码 web.xml 配置 文件/资源文件
配置tomcat与myeclipse
1.myeclipse里配置tomcat
window->perferences->输入tomcat->找到相应的版本->浏览tomcat的bin上一目录->enable
2.怎么找到server
window->show view->other->servers
3.怎么启动tomcat
在servers里选中tomcat->右键->debug/run
4.用myeclipse创建web项目
在myeclipse的package explorer->右键创建web project->输入项目名baidu->选中javaee6.0->finish myeclipse创建项目如何发送到tomcat里
HTTP协议
1.什么是http协议
hyper text transport protocol 超文本传输协议,它规定了浏览器与万维网之间相互通信规则,通信规则规定了客户端往服务器端发送的内容格式,叫"请求协议",通信规则也规定了服务器端往客户端发送的内容格式叫"响应协议"
2.URL和URI
URL统一资源定位符,也就是网址的意思,例如:http://www.taobao.com。
URI同一资源标识符,它的范围大于URL,它不但标识网址也表示邮箱.
3.请求协议
常规
- Request URL: 请求路径
http://localhost/baidu/ok.jsp - Request Method: 请求方法
POST - Status Code: 状态码
200 OK - Remote Address: 远程地址
- ::1 80
- Referrer Policy:
no-referrer-when-downgrade
1.get请求请求头 - Accept: 接受格式 text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8,appl ication/signed-exchange;v=b3
- Accept-Encoding: 接受编码
gzip, deflate, br - Accept-Language:接受语言 zh-HK,zh-CN;q=0.9,zh;q=0.8,en-US;q=0.7,en;q=0.6
- Connection: 连接 keep-alive
- Cookie:
JSESSIONID=23B1A73DCADA7A7399491B62E67756F4 - Host: 域名 localhost
- Referer: 请那里跳转过来
http://localhost/baidu/index.jsp - User-Agent: 用户的信息
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.87 Safari/537.36 请求参数: - userName: 张三
- userPwd: abc
post请求
1.请求头 - Accept: 接受资源的格式
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8,appl ication/signed-exchange;v=b3 - Accept-Encoding: 接受的编码 gzip, deflate, br
- Accept-Language: 接受的语言 zh-HK,zh-CN;q=0.9,zh;q=0.8,en-US;q=0.7,en;q=0.6
- Cache-Control: 缓存控件 max-age=0
- Connection: 连接 keep-alive
- Content-Length: 连接的长度
39 - Content-Type: 内容类型 application/x-www-form-urlencoded
- Cookie:
JSESSIONID=23B1A73DCADA7A7399491B62E67756F4 - Host: 域名
localhost - Referer: 从哪里跳转过来
http://localhost/baidu/index.jsp - User-Agent: 用户的内容
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/76.0.3809.87 Safari/537.36 单数据 - userName: 李四
- userPwd:
abc
4.响应协议
响应头 - Content-Length: 内容长度
625 - Content-Type: 内容类型 text/html;charset=UTF-8
- Date: 日期
Mon, 05 Aug 2019 01:46:09 GMT - Server: 服务
Apache-Coyote/1.1
响应体
5.状态码
1.200 请求成功
2.404 请求失败 3.500 请求到,但服务器错误
第二章 servlet
servlet概述
1.什么是servlet
servlet: server applet 服务小程序,它是web三大组件之一,也是 重要的一个组件 web三大组件:servlet,filter,listener
2.servlet作用
接受客户端请求处理客户端请求响应客户端
3.serlvet的实现方式
实现javax.servlet.Servlet接口继承javax.servlet.GenericServlet抽象类继承javax.servlet.HttpServlet抽象类(这个是我们 佳方案)
4.servlet接口的结构
5.实现Servlet接口的一个HelloWord程序
1.写类MyServlet实现javax.servlet.Servlet接口
2.配置web.xml
注意:
一个servlet标签必须对应一个servlet-mapping标签 servlet标签里的servlet-name的值一定要与servlet-mapping里的servlet-name的值一定要一样
3.通过请求