本帖最后由 巴拉巴拉x 于 2018-5-21 10:24 编辑
tomcat&servlet
tomcat
- 软件架构
- c/s架构:客户和服务端的软件,都是需要在PC端安装的软件.
- b/s架构:浏览器和服务端的软件,不需要安装到PC端,只需要一个浏览器即可.
- 优点:
- 缺点:
- 显示不太好,所有的代码都在运行在服务端,导致服务器压力过大
- 现在:可以使用HRML5,css做出很炫的效果
- 服务器压力:搭建服务器的集群,而且还有AJAX技术,
- web的资源
- 服务器
- 硬件
- 软件
- 必须在一台电脑上安装服务器软件.
- tomcat
- websphere was
- weblogic
- 统称为中间件
- 软硬件都全了,才可以被称位WEB服务器.
- 常见WEB服务器
- Apache:发布PHP的
- IIS:发布ASP的
- WebSphere:IBM公司研发的收费的大型服务器软件,支持EE的所有的开发规范
- WebLogic:BEA公司研发
- Tomcat:Apache组织研发,免费的小型的服务器软件,支持Servlet/JSP的开发规范
- JBoss:
- 免费的常用软件LAMP
- WEB动态资源目录结构
- 软件下载:
- tomcat 软件安装
- Tomcat的目录结构
- conf:配置文件
- bin:tomcat的执行文件
- lib:Tomcat运行需要的jar包
- logs:Tomcat运行的日志文件
- temp:Tomcat产生的临时文件存放的路径
- webapps:Tomcat发布的web项目的路径
- work:Tomcat在运行JSP的时候,JSP被翻译成Servlet的代码存放的路径.
- backup:备份文件的存放路径.
- Tomcat发布web项目的集中方式
- 把项目复制到Tomcat的webapps目录下
- 发布了新项目后最好把Tomcat重启一下.
- 配置Tomcat虚拟路径:不推荐,因为要修改Tomcat的核心配置文件,容易出现错误,有了错误服务器就会启动不了
- 在Host标签下配置< contex path="" docbase=""></contex>
- path:是虚拟路径,就是在地址栏输入的路径
- docbase:是对应的硬盘上文件的实际路径.
- 官方推荐的配置方法:
- 在Tomcat/conf/Catalina/localhost/xxx.xml文件,文件内写一个Contex标签:XML的文件名就是path的值,标签内的docbase的值就是具体的项目存放的位置.
- 把一个项目打包成一个xx.war的形式,一启动Tomcat就会把这个war包自动解压到当前文件.(企业中常用)
tomcat常见问题
- 查看问题
- 用编辑器打开,启动文件,在最后边加上pause,然后启动,修改完成后把pause删除.
- 没有配置JAVA_HOME环境变量
- 端口号冲突问题
- 如何查看系统占用端口号
- netstat -ano
- 打开任务管理器,找到详细信息
- 把占用这个端口的进程全部关闭
- 把tomcat程序的端口号改了
sevelet
http协议- 约束浏览器(客户端)和数据库(服务器)之间数据交互规则
- 超文本传输协议,
- 作用:
- https协议,在http的基础上增加了一项安全保护
- 协议:
- http协议的特点
- 基于请求和相应的模型
- 客户端浏览器发起请求,服务器返回响应,
- 默认的端口号是:80
- http协议的版本
- 1.0:每次响应后即可关闭了连接
- 1.1:每次响应后在指定时间内部会挂断,超过指定时间才会挂断
- http协议的演示
- 安装抓包工具:httpWatch::不太好用,不建议使用,使用浏览器的开发者工具network.
- 先输入网址,然后点击记录,再回车访问地址
- 302:从本地缓存打开
- 请求分为get/post方式(两种请求方式,返回的响应部分是一样的)
- get方式
- 分三部分
- 请求行(第一行):请求方式,请求路径,协议版本
- 请求头:一般都是key,value键值对的形式,一般情况下一个key对应一个value,也有对多个的
- 空行
- 没有请求体
- post方式
- 分三部分
- 请求行(第一行):请求方式,请求路径,协议版本
- 请求头:一般都是key,value键值对的形式,一般情况下一个key对应一个value,也有对多个的
- 空行
- 请求体:
- get/post常用,还有6种提交方式
- get和post的区别
- get提交的参数会显示到地址栏上,而post不会,post提交的参数在请求体内.
- get提交的数据往往有大小限制,而post没有
- get没有请求体,而post有请求体,
- 只有表单设置了post才是post方式,其他的一般都是get方式
- 请求头中有一部分是有特殊含义的
- User_Agent--->代表的是浏览器的类型:主要用来解决下载的文件乱码问题,不同的浏览器采用的编码方式可能不一样
- Referer--->记录网站的来源:作用可以防盗链,(设置指定的来源可以进行浏览)
- If-Modified-Since:通常与相应中的头(Last-Modified)一起使用查找本地缓存
- 请求体:就是提交的数据,不同的数据之间用 & 来隔开
- location.href="",跳转页是get提交方式.
- 响应
- 分成了三部分
- 响应行:协议版本,状态码 状态码的描述
- 状态码:
- 200:成功
- 302:重定向
- 304:查找本地缓存
- 404:资源不存在(查找路径,提交路径)
- 500:服务器内部错误
- 响应头:键值对的形式,通常情况下一个key对应一个value,也有一个key对应多个value的情况
- 重要的
- Last-Modified:与请求中的If-Modified-Since一起使用查找本地缓存
- Content-Dispostion:文件下载的时候使用的一个头信息
- Location:重定向的路径跳转的路径结合302使用
- Refresh:定时刷新(定时跳转)
- Cookit:
- 空行
- 响应体:提交路径对应界面的代码.
Servlet的概述- 什么是Servlet
- 查找ee文档
- 就是一个运行在web服务器上的小的Java程序,用来接收和响应从客户端发送过来的请求,通常使用http协议
- Servlet就是SUN公司提供的一个动态网页开发技术
- 作用
- 接收从客户端浏览器发送的请求,并且可以对请求做出做出处理并响应回客户端
- 使用
- 编写一个类实现Servlet接口
- 将编写的这个类配置到服务器中
- Servlet的入门
- 编写类实现Servlet接口,
- 在有两个参数(请求和响应)的那个方法(service)内,写代码(代码是运行在服务器上的)
- 所有的请求内容都会封装到..中
- 使用ServletRequest接收对象
- 方法看API
- String getParameter(String name):用于接收一个名称对应一个值的数据
- String getParameterValues(String name):用于接收一个名称对应多个值的数据
- Map getParameterMap();用于接收表单中的所有数据,Map的key是表单中提交的参数名称,Map的value是提交参数的值
- Enumeration getParameter
地址栏访问规则- 协议:http://
- 服务器地址:localhost
- 程序:端口--->8080
- 工程名称
- 去web.xml中根据标签(url-pattern)及其内容去匹配
- 找到包含请求内容的url标签对应的Servlet标签,根据Servlet标签的文本内容找到和他有一样内容的Servlet标签,再找这个标签对应的servlet-class标签,这个标签的内容就是指定的java类,找到这个类,把参数传递进入这个java程序中,进行处理.
- web项目是运行在服务器上的.
|
|