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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

day13-Tomcat与Servlet入门软件的架构C/S架构的软件:Client/Server 客户端和服务器端的软件,都是在PC端安装的软件,* 优点: 效果炫,一部分代码写在客户端(速度快)* 缺点:服务器更新,客户端都需要更新B/S架构的软件:Browser/Server浏览器端和服务器端的软件,不需要安装到PC端,只需要有一个浏览器即可*优点: 服务器端更新,客户端浏览器不需要进行更新*缺点: 效果不选,所有的代码运行都在服务器端,导致服务器压力过大。*效果: 使用HTML5,CSS3可以做出很炫的效果。*服务器端压力: 搭建服务器的集群,二千还有AJAX技术。WEB的资源静态资源
HTML,CSS,JS,图片...
动态资源
PHP:
ASP:
Servlet/JSP:
服务器硬件:
其实就是一台配置很高的电脑.
软件:
必须在一台电脑上安装服务器软件.这台电脑成为是WEB服务器.
常见的WEB服务器
  • Apache: 发布PHP的
  • IIS: 发布ASP的
  • WebSphere: IBM公司研发,收费的大型服务器软件,支持EE的所有的开发规范.
  • WebLogic:BEA公司研发,收费的大型服务器软件,支持EE的所有的开发规范.
  • Tomcat: Apache组织研发,免费的小型的服务器软件,支持Servlet/JSP的开发规范.
  • JBoss:
WEB动态资源目录结构
Website(2.5的目录结构)
|-----静态资源    |-----WEB-INF                |-----web.xml:必须的                |-----classes:可选的                |-----lib:可选的Tomcat
安装: 解压即可
Tomcat的目录结构
  • bin :tomcat的执行的文件.
  • conf :tomcat的配置文件.
  • lib :tomcat运行的需要的jar包
  • logs :tomcat的运行的日志文件.
  • temp :tomcat产生历史文件存放的路径.
  • webapps:tomcat发布的web项目的路径.
  • work :tomcat运行JSP的时候 ,JSP翻译成Servlet的代码存放的路径.
发布一个WEB项目到Tomcat中
发布一个WEB项目到Tomcat中共有三种方式:
  • 方式一: 直接将工程导出成war包,直接扔到webapps下.
  • 方式二: 配置tomcat的虚拟路径-不推荐
    • 在tomcat/conf/server.xml文件中进行配置:
    • 在<Host>标签下配置:
    • <Context path="/itheima"(虚拟路径) docBase="C:/website"(写的是本地网站所存放的路径)/>
  • 方式三: 配置tomcat的虚拟路径-推荐
  • 在tomcat/conf/Catalina/localhost/xxx.xml
  • 配置<Context docBase="C:/website"/>
  • xxx作为虚拟路径的名称.

总结使用STS工具发布一个WEB工程
步骤:
  • 打开eclipse或sts,
  • 右键-new-Dynamic Web Project(动态的WEB项目)
  • 写项目名称-改规范Dynamic web module version 改成2.5-Finish
变化
创建好项目之后会发现比之前的Java项目多了几个东西,要是想写java代码要在Java Resources下的src里面 如果要写页面,不管是静态的还是动态的,都要建在WebContent下.
要是想引第三方包,要在WWB-INF下的lib中
项目不要放在WEB-INF下面
Tomcat常见问题:没有配置JAVA_HOME引发tomcat一闪消失
一定要配置JAVA_HOME环境变量.
端口号冲突的问题
  • 一种:将占用端口的应用结束.
    • netstat -ano
    • 打开任务管理器结束:
  • 二种:修改自身应用的端口号.
    • tomcat/conf/server.xml

HTTP协议
协议:规定双方需要遵守的规则.
HTTP协议: 用来规定浏览器与服务器之间遵守的规则.
HTTP协议的作用:规范浏览器和服务器之间的数据传递.
HTTP协议的特点:
  • 基于请求和响应的模型.
    • 必须现有请求后有响应.
    • 请求和响应必须成对出现.
  • 默认的端口号是 80.
HTTP协议的版本
  • 1.0 :每次响应后即刻关闭了连接.
  • 1.1 :现在使用,不是每次响应后挂断,等待长时间以后没有请求会挂断.
HTTP协议的详解请求部分
请求行
  • 提交方式:提交方式有很多,常用的GET和POST
  • GET和POST的区别:
    • GET的提交的参数会显示到地址栏上,而POST不显示.
    • GET往往是有大小限制的,而POST没有大小的限制.
    • GET没有请求体,而POST有请求体.
  • 提交路径:
  • 协议版本:

请求头
  • 都是键值对的形式显示的.一般一个key对应一个value,也有个别的是一个key对应多个value.
    • User-Agent        :代表浏览器的类型. --- 文件下载:下载中文文件:IE使用URLEncodor进行编码,而Firefox使用Base64编码.
    • Referer        :代表的是网页的来源. --- 防盗链.
    • If-Modified-Since        :通常与响应中的头Last-Modified一起使用查找本地缓存.

请求体
  • 就是POST提交方式的提交的参数.
响应部分
响应行:
  • 协议版本
  • 状态码        :
    • 200        :成功
    • 302        :重定向
    • 304        :查找本地缓存
    • 404        :资源不存在
    • 500        :服务器内部错误
  • 状态码描述
响应头
  • 键值对,一般一个key对应一个value,也有一个key对应多个value.
    • Last-Modified        :与请求中的If-Modified-Since一起使用查找本地缓存.
    • Content-Dispostion        :文件下载的使用使用的一个头信息.
    • Location        :重定向的跳转的路径.
    • Refresh        :定时刷新/定时跳转.

响应体
  • 显示浏览器的页面的内容.
Servlet的概述
  • Servlet:
    • 1.就是一个运行在WEB服务器上的一个小的Java程序,用来接收和响应从客户端发送来的请求,通常使用HTTP协议.
    • 2.Servlet就是SUN公司提供的一个动态网页开发技术.
  • Servlet的作用:
    • 用来处理从客户端浏览器发送的请求,并且可以对请求作出响应
  • 使用Servlet:
    • 编写一个类实现Servlet接口.
    • 将编写的这个类配置到服务器中.

访问规则:
http://ip:port/projectName/地址串
如果要访问一个servlet,这个地址串跟web.xml中配置的url-pattern有关系
使用ServletRequest接收参数
  • String getParameter(String name);        ---用于接收一个名称对应一个值的数据.
  • String[] getParameterValues(String name);---用于接收一个名称对应多个值的数据.
  • Map getParameterMap();        ---用于接收表单中的所有的数据,Map的key是表单提交的参数名称,Map的value是提交参数的值.
  • Enumeration getParameterNames()        ---用于获取表单中提交的所有的参数的名称.

0 个回复

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