A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 巴拉巴拉x 于 2018-5-21 10:24 编辑

tomcat&servlet



tomcat

  • 软件架构
    • c/s架构:客户和服务端的软件,都是需要在PC端安装的软件.
      • 优点:
        • 用户体验好,速度快,
      • 缺点:
        • 后期维护麻烦.服务端更新,客户端也得跟着更新

    • b/s架构:浏览器和服务端的软件,不需要安装到PC端,只需要一个浏览器即可.
      • 优点:
        • 服务器端更新,客户端浏览器不需要更新
      • 缺点:
        • 显示不太好,所有的代码都在运行在服务端,导致服务器压力过大
          • 现在:可以使用HRML5,css做出很炫的效果
          • 服务器压力:搭建服务器的集群,而且还有AJAX技术,



  • web的资源
    • 静态资源:数据是静态的
      • HTML,CSS,JS,图片...
    • 动态资源:数据是动态的
      • PHP:
      • ASP:
      • Servlet/JSP:

  • 服务器
    • 硬件
      • 就是一台配置很高的电脑
    • 软件
      • 必须在一台电脑上安装服务器软件.
      • tomcat
      • websphere was
      • weblogic
      • 统称为中间件
    • 软硬件都全了,才可以被称位WEB服务器.
  • 常见WEB服务器
    • Apache:发布PHP的
    • IIS:发布ASP的
    • WebSphere:IBM公司研发的收费的大型服务器软件,支持EE的所有的开发规范
    • WebLogic:BEA公司研发
    • Tomcat:Apache组织研发,免费的小型的服务器软件,支持Servlet/JSP的开发规范
    • JBoss:
    • 免费的常用软件LAMP
      • L:
      • A:
      • M:
      • P:

  • WEB动态资源目录结构
    • website:站点
      • 静态资源
      • WEB-INF
        • Web.xml
        • classes



  • 软件下载:
  • 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环境变量
    • 去配置一个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方式
        • 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项目是运行在服务器上的.



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马