07 JavaWeb

软件开发的两种架构:c/s和b/s

* C/S     client/server     客户端/服务器     例子:QQ     快播     暴风影音...
          * 优点:交互性非常好,服务器压力小。
          * 缺点:客户端软件,下载客户端软件。
                   
     * B/S     Browser/server     浏览器/服务器     例子:购物网站     12306购票     淘宝
          * 缺点:交互性不好(ajax),服务器压力大。
          * 优点:服务器端进行更新,打开浏览器刷新。


Web开发的相关知识                    
          * 静态的WEB资源
               * HTML CSS JAVASCRIPT              
          * 动态的WEB资源    
               * Servlet/JSP     SUN提供了
               * ASP               微软
               * PHP               模板(mysql php )
               * RUBY             日本              
               * JAVA:           处理大数据。淘宝。


* 服务器的概念:
               * 底层原理:网络编程。
               * 硬件:一台主机。
               * 软件:安装服务器软件。
              
               * 访问:
                    * ip+端口号
                    * 119.75.217.56 -- 域名
                   
          * 常见的服务器
               * WebLogic     BEA的公司开发     但收费  支持JAVAEE的所有规范。被oracle收购(sun(java) mysql(数据库) WebLogic)
               * WebSphere     IBM的公司开发     但收费     支持JAVAEE的所有规范。
               * Tomcat     apache(开源组织,非常伟大)支持Servlet/JSP的规范。


使用tomcat的6.x的版本
               * 前提条件:安装JDK,配置JAVA_HOME
               * 安装tomat,(解压版),启动服务器:tomcat/bin/startup.bat。双击启动了。C:\Program Files (x86)\Java\jdk1.6.0_16
               * 如果黑色窗口一闪而过,需要配置JAVA_HOME。              
              
          * 常见的启动问题
               * 安装JDK,配置JAVA_HOME
              
               * 端口占用的问题。
                    * 端口被占用。
                    * java.net.BindException: Address already in use: JVM_Bind
                    * 解决问题:
                         * 在dos窗口中输入 netstat -ano命令,查找8080端口,找到PID
                         * 任务管理器结束PID就OK了。
                        
                         * 修改tomcat服务器的端口号。修改tomcat的配置文件。
                         * tomcat/conf/server.xml修改tomcat的端口号。
                              <Connector port="80" protocol="HTTP/1.1"
                                 connectionTimeout="20000"
                                 redirectPort="8443" />
                         * 重新启动服务器。                               
                         * 带 World wide web publish IIS服务。                        
                             
          * tomcat的目录结构
               * bin(**)               存放批处理的文件
               * conf(*****)          tomcat配置文件
               * lib(***)               存放jar包
               * logs(***)           日志
               * temp(**)               临时文件
               * webapps(*****)     web applications存放项目的
               * work(*****)          jsp的时候,翻译serlvet


* 开发一个动态的WEB资源,固定的目录结构
               * 在webapps的目录下,创建一个目录。
               website
                    | --- 静态的页面(HTML CSS JAVASCIPT JSP)
                    | --- WEB-INF
                              | --- web.xml     配置文件                              必须有的
                              | --- lib          (文件夹,第三方的jar包)          可选的
                              | --- classes     (文件夹,存放.class文件)          可选的


myeclipse配置tomcat
               * window -- 选择 -- (搜索servers)MyEclipse -- Servers -- tomcat -- 选择tomcat6.x的版本
                   
                    * 选择Enable -- 配置tomcat的路径 -- 选择tomcat的根路径 
                    * 配置JDK(点tomcat的+号) -- 配置JDK -- 选择JDK就ok了。
                   
               * 新建的WEB项目,部署tomcat服务器中,启动服务器。
              
               * 虚拟路径:访问路径(项目名称)。
               * 直接复制web项目,修改虚拟路径。
                    * 右键 -- 属性 -- MyEclipse -- web -- 修改虚拟路径。


* tomcat管理员的配置(了解)
     * 在tomcat/conf/tomcat-user.xml
          <role rolename="manager"/>
          <user username="admin" password="admin" roles="manager"/>              
              
     * 部署web应用程序(三种方式)(重点)
               * 直接复制项目到webapps目录下。
                   
     * 通过conf/server.xml中配置虚拟路径的方式(开发中使用,但是tomcat不推荐使用)
                    * 标签<Context docBase="项目的真实路径" path="访问路径" ></Context>
                    * Context需要配置Host标签下。
                   
     * 在指定的文件夹下编写 xxx.xml,把xxx作为访问路径。(推荐使用的)
          * 在哪个文件夹下:($CATALINA_HOME/conf/[enginename]/[hostname]/ directory.)
          * tomcat/conf/Catalina/localhost/xxx.xml
          * 编写的xml:
               * <Context docBase="项目的真实路径" ></Context>

//访问时直接http://localhost/xxx/


* 通信
               * 百度的ip:119.75.217.56
               * 翻译ip,先去自己的电脑hosts文件,如果找不到,网络上。
                   
          * 了解配置虚拟主机。
               * 先找到hosts文件。C:\WINDOWS\system32\drivers\etc\hosts   修改为: 127.0.0.1 www.baidu.com           
              
               <Host name="www.taobao.com"  appBase="C:\taobao"
                         unpackWARs="true" autoDeploy="true"
                         xmlValidation="false" xmlNamespaceAware="false">
              
                    <Context docBase="\mytaobao" path="/" ></Context>
               </Host>

接下来配好index.html页面即可直接www.taobao.com访问




HTTP的协议
          * 协议:遵循一定规范的数据格式。
          * 特点:
               * 基于请求和响应的模式。(先有请求再有响应)
               * 基于tcp的链
               * 默认端口是80
              
          * 使用telnet命令完成http入门
               * 开启telnet命令。
               * telnet localhost 80
               * 会产生乱码,解决问题:ctrl+],回车。
               * telnet命令,不支持删除。
              
          * 服务器发送一次请求    
               GET /aa/1.html HTTP/1.1
               host:localhost
              
          * 服务器做出了响应
               HTTP/1.1 200 OK
               Server: Apache-Coyote/1.1
               ETag: W/"20-1413703905727"
               Last-Modified: Sun, 19 Oct 2014 07:31:4
               Content-Type: text/html
               Content-Length: 20
               Date: Sun, 19 Oct 2014 07:37:51 GMT
              
               <h1>hello world</h1>
              
          * HTPP协议的版本(面试题)
               * HTTP/1.0
                    * 发送一次请求,拿到web资源后,链接会自动断开。
                   
               * HTTP/1.1
                    * 发送一次请求,拿到web资源后,链接不会断开,如果长时间不操作,会自动断开。
                   
                   
                    GET /aa/1.html HTTP/1.0
                    host:localhost    
                    GET /aa/1.html HTTP/1.1
                    host:localhost         
         
          * 请求:
               * 请求行:
                    * 请求方式
                         * POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT、CONNECT
                         * 常用post和get
                         * 区别:....
                             
                    * 请求路径
                         *
                    * 协议版本
                         * HTTP/1.1
               * 请求头
                    Accept: text/html,image/*   
                    Accept-Charset: ISO-8859-1
                    Accept-Encoding: gzip
                    Accept-Language:zh-cn
                    Host: www.itcast.com:80
                    If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT
                    Referer: http://www.itcast.com/index.jsp
                    User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
                    Connection: close/Keep-Alive  
                    Date: Tue, 11 Jul 2000 18:23:51 GMT
                   
                    * 重点的头
                         * If-Modified-Since          可以控制缓冲,需要和响应的头一起来使用。
                         * Referer                    记住当前网页的来源。(防止盗链)
                         * User-Agent               判断当前的浏览器类型
                        
               * 空行
               * 请求体:就是post提交时,保存参数列表的。              
              
          * 响应:
               * 响应行
                    * 协议版本
                    * 状态吗
                        
                         200 :请求成功处理,一切OK
                         302 :请求重定向
                         304 :服务器端资源没有改动,通知客户端查找本地缓存
                         404 :客户端访问资源不存在
                         500 :服务器内部出错
                        
                    * 状态码描述
                        
               * 响应头
                    Location: http://www.it315.org/index.jsp
                    Server:apache tomcat
                    Content-Encoding: gzip
                    Content-Length: 80
                    Content-Language: zh-cn
                    Content-Type: text/html; charset=GB2312
                    Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT
                    Refresh: 1;url=http://www.it315.org
                    Content-Disposition: attachment; filename=aaa.zip
                    Expires: -1
                    Cache-Control: no-cache 
                    Pragma: no-cache  
                    Connection: close/Keep-Alive  
                    Date: Tue, 11 Jul 2000 18:23:51 GMT
                   
                    * 重点:
                         * Location                    可以与302完成重定向的操作
                         * Content-Type    
                         * Last-Modified               根请求头一起来完成控制缓冲的操作
                         * Refresh                    完成页面的定时刷新
                         * Content-Disposition     做下载功能时,必须使用该头。
                             
                              Expires: -1
                              Cache-Control: no-cache 
                              Pragma: no-cache
                                   * 禁用浏览器的缓冲。
                   
               * 空行
               * 响应体:服务器向客户端响应的所以内容。

时间: 2024-08-07 04:31:37

07 JavaWeb的相关文章

百度房间卡是否可骄傲是快乐积分拉斯科

http://www.ebay.com/cln/ycn6646/-/167568259015/2015.02.07 http://www.ebay.com/cln/gon-n31/-/167197496017/2015.02.07 http://www.ebay.com/cln/hu_d027/-/167453250013/2015.02.07 http://www.ebay.com/cln/ywa2962/-/167301832012/2015.02.07 http://www.ebay.co

【JAVAWEB学习笔记】07

今天主要学习了BootStrap,viewport的介绍和最后对网站进行了重构 今天晨读单词: Compatible:兼容性viewport:视口device:设备initial:初始化(缩写init)Template:模板scale:缩放container:容器fluid:液体,流navbar:导航条icon:图标dropdown:向下separator:分割group:组current:当前inverse:相反的active:激活default:默认的item:项 Viewport介绍 一.

javaweb笔记全套

Lesson 1 一.eclipse工具的使用 1. java代码的位置 1) 选择工作空间 workspace  选择一个文件夹存放程序(代码) 不要用中文和空格 2) 新建一个java 工程(Project) 3) 建包 建类 2. 快捷键 alt + / : 代码自动补齐,需要配置的 打开preferences(首选项), 搜keys,打开快捷键配置面板 搜 alt+/ ,取消绑定 搜 content assist ,取消原先的绑定,配置成alt+/ ctrl+1: 错误自动修复, 注意,

JavaWeb之网上图书商城-框架搭建

一.写在前面 以前一直接触.net相关的web开发,现在猛然使用javaWeb还是很不习惯.就连搭个框架也是第一次,在互联网众多的资料中看了许多,我想是应该本人的需求有点变态,所以花了将近半天时间的才明白是个什么回事... 二.谈谈项目架构 因为高中开始接触.net相关的开发所以对于.net相关的开发还是比较 熟悉的,但我在学校学的java方向的开发,而我打算把这两种平台结合起来,使用java做后台也就是服务提供者,将所有业务逻辑在java平台完成并使用我比较熟悉的.net做Web端的开发.这样

Javaweb项目链接sqlserver 2008R2时出现的一系列的错误

好久没有弄java,玩eclipse了,最近因为小小的原因,参加一个比赛,不得不把javaweb的东西又捡起来,所以不熟悉,再加上之前链接数据库都是用Oracle的,现在公司的电脑上又只是安装了sqlserver 2008R2,所以就试着,开发项目链接sqlserver 2008R2.从昨天晚,到今天晚,终于算是搞定了一系列的问题,当页面显示出来的一刹那,好开心.人生就像打怪兽,就得一关一关地过.仅此,记录一下,辛苦的这些岁月,这活在当下的大好青春. 01 五月 28, 2014 9:21:02

javaweb笔记分享

Lesson 1 一.eclipse工具的使用 1. java代码的位置 1) 选择工作空间 workspace  选择一个文件夹存放程序(代码) 不要用中文和空格 2) 新建一个java 工程(Project) 3) 建包 建类 2. 快捷键 alt + / : 代码自动补齐,需要配置的 打开preferences(首选项), 搜keys,打开快捷键配置面板 搜 alt+/ ,取消绑定 搜 content assist ,取消原先的绑定,配置成alt+/ ctrl+1: 错误自动修复, 注意,

javaweb:判断当前请求是否为移动设备访问

这段时间都是在做pc端的业务,结果经理找到我说,可能要做移动端的应用,后台逻辑还是用我写的逻辑,但是需要改动一些,看看怎么处理. 由于移动端和pc端还是稍微有些区别的,我觉得最好是在一个地儿统一判断,而且不要改动原先的代码,这样可以从一定程度上减少bug的数量.我的想法是首先应该判断当前请求是否为移动端,然后设一个标识到session中,然后就可以随便处理了.不管你是单独处理,还是统一处理,直接读取session就可以做相应的判断了. 我封装成了一个类,现在分享给大家: package com.

JavaWeb学习总结(四十八)——模拟Servlet3.0使用注解的方式配置Servlet

JavaWeb学习总结(四十八)——模拟Servlet3.0使用注解的方式配置Servlet 一.Servlet的传统配置方式 在JavaWeb开发中, 每次编写一个Servlet都需要在web.xml文件中进行配置,如下所示: 1 <servlet> 2 <servlet-name>ActionServlet</servlet-name> 3 <servlet-class>me.gacl.web.controller.ActionServlet</s

javaWeb项目中web.xml的xsd( XML Schemas Definition)文件

<?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://java.sun.com/xml/ns/javaee" xmlns:javaee="http://java.sun.com/xml/ns/javaee" xml