三月16日 Web开发入门

3月16日 Web开发入门

WEB开发入门

采用B/S通信模式  浏览器、服务器

服务器(计算机) 处理WEB服务的WEB服务器

数据库服务器、SVN服务器……

实质就是安装了相应软件,并且运行的计算机

路径:http://localhost:8080/myweb/1.html

http: 协议

//  分隔符

localhost 域名

*本地域名 localhost

*IP地址: 描述每一台计算机 本地IP127.0.0.1

                    局域网IP

                    外网  IP

DNS 域名解析服务

返回IP地址

域名--------------->DNS服务器

端口号:8080 Tomcat

          80 http协议默认端口

        3306 mySQL服务器默认端口

/myweb/1.html 资源路径

localhost找到计算机,8080找到程序

对应 */webapps

1.安装和运行

a) 解压apache-tomcat-6.0.35.zip

b) 位置 不能包含中文、空格

c) 运行 /bin/startup.bat

d) 测试 http://localhost:8080

2.启动错误时:

切到startup路径可以查错误

1)未配置JAVA_HOME

2)JAVA_HOME未配置成功

配置jdk目录

3)BindException 端口被占用

修改端口号:

修改文件位置: /conf/server.xml

修改端口个数:3个  8005 8009 8080

目录结构:

*bin 存放tomcat的启动和终止脚本

startup.bat  启动脚本

*bootstrap.jar 启动的最终执行

org.apache.catalina.startup.Bootstrap

Shutdown.bat 终止脚本

*conf 存放配置文件

*lib   目录:存放tomcat所有功能的jar文件

*web服务器 sevlet容器

*JavaEE 13项核心技术

Tomcat仅实现了两个:servletjsp

*logs目录:  日志目录

Temp 目录:  缓存目录(临时文件夹)

Webapps目录:当前维护的所有web应用程序所在的目录

Work目录     处理jsp页面的工作目录

配置tomcat-users.xml,配置管理用户:

<role rolename=”manager-gui” />

<user username=”tomcat” password=”s3cret” roles=”manager-gui” />

Web项目:

| web project

   | -- WEB-INF目录:屏蔽浏览器访问的资源目录。此目录浏览器不可见

* 存放web项目的配置信息

* 存放web项目依赖的jar文件

* 存放当前web的源码文件生成的class文件

| -- web.xml文件:web项目的配置文件

* 配置信息的内容:%tomcat%/conf/web.xml,拷贝根元素

| -- lib目录:所依赖jar文件存放的位置

| -- classes目录:class文件存放的位置

7、虚拟目录:

* 文件位置:%tomcat%/conf/server.xml

* 配置内容

<Host name="localhost"  appBase="webapps">

<Context path="/xxx" docBase="F:\workspaces\20120909\day04\WebRoot" />

* path:浏览器访问的路径

* docBase:当前路径映射的实际文件夹位置

* 注意:指定到一个web项目

* 用途:扩展webapps目录管理项目的

8、虚拟主机

* 本地域名生效原因localhost

* C:\WINDOWS\system32\drivers\etc\hosts

* 127.0.0.1       localhost

* hosts文件

* 书写URL访问资源

* IP的作用:仅负责找到需要的主机的位置

* 配置内容

<Host name="www.baidu.com"  appBase="D:\mywebapps"

* 注意:需要修改host文件

HTTP协议

1HTTP请求

* 分类:请求行、请求头、请求体

* 请求行:描述请求的资源

* 格式:请求方法  资源路径  协议

* 例如:GET /day04/1.html HTTP/1.1

* 请求方法

* GET:请求内容追加在URL之后

* URL的长度有限制1k

* POST:请求内容放置在请求体中

* 请求头

* Accept:浏览器通知服务器,浏览器可以接受的数据类型

* Accept-charset:浏览器通知服务器,浏览器支持的字符集

* Accept-Encoding:浏览器通知服务器,浏览器支持的压缩格式

* Accept-Language:浏览器通知服务器,浏览器支持的语言环境

* Host:浏览器通知服务器,浏览器访问的服务器的主机名

* If-Modified-since:浏览器询问服务器,浏览器本地是否修改过

* Referer:浏览器通知服务器,浏览器当前页来自哪个页面

* 防盗链

* user-agent:浏览器通知服务器,浏览器端的基本信息

* cookie

* connection:浏览器保持服务器,是否保持连接状态

* Date:浏览器通知服务器,浏览器端的时间

* 请求体

* 请求体与请求头之间存在一个空行

2HTTP响应

* 分类:响应行 响应头 响应体

* 响应行:协议 状态码 状态信息

* 例如:HTTP1.1 200 ok

* 状态码:服务器通知浏览器的行为,执行过程

* 1xx:服务器通知浏览器,服务器还没有处理完成

* 2xx: 服务器通知浏览器,服务器已经处理完成

* 200:处理完成

* 3xx: 服务器通知浏览器,服务器还需要浏览器进一步处理来完成整个操作

* 302:服务器通知浏览器需要进一步操作,从http相应头获(location)得进一步操作的资源

* 304:服务器通知浏览器当前资源没有修改,从缓存中获取

* 4xx:服务器通知浏览器,浏览器发送数据有误

* 401:没有权限

* 404:找不到资源

* 5xx:服务器通知浏览器,服务器出现异常

* 500:服务器异常

* 503:服务器未响应

* 响应头

* 响应体:服务器响应浏览器所有的内容

* 注意:响应头与响应体之间存在一个空行