在家扒的书

WEB知识点
胖客户端程序RCP
:优点安装就能高效的进行相关的工作
:缺点消耗相关的计算机资源
瘦身客户部端程序TCP
只要计算机能耐上网就能进行相关的工作
相关的工作几乎都交给了服务器来处理
安是否能上网程序可以分为网络程序与非网络程序
相关的网络程序又分为BS结构与CS结构
BS结构
BS是指游览器(browser)服务器(server)模式
一般的网站都是BS结构例如百度google等
web 程序不需要安装相关的客户端程序但得经过游览器来访问
服务器一般而言BS要比CS在网上更容易传输
CS是指客户端(client)服务七八(server)模式
这种模式在客户端要安装客户端服务器RCP由RCP跟服务器进行数据的交流
一般的CS程序有QQ MSN  迅  雷等
WEB开发的背景
HTTP超文本传输协议
负责游览器与WEB服务器搭建桥梁
是应用层的通讯协议
WWW服务器在运行时一直在TCP80端口监听等待连接的出现
置于HTTP协议的客户 服务器模式的通讯过程
(1)建立连接,连接的建立是通过套接字(socker)来实现的
客户打开套接字将其约束在相应的端口上如果成功就等于在客户端建立了一个虚拟的文件
便可以在这虚拟的文件上进行相关的写数据并通过网络向外传输
(2)发送请求,打开一个连接后,客户机将请求信息传输到服务器的停留端口之上
完成一个请求动作
(3)发送相应,服务器在处理完相关的请求信息后,给客户端发送相关的相应信息
(4)关闭连接,客户(client)服务器(server)都能通过套接字来将连接关闭
WEB服务器
服务的终端,相关的信息处理终端相关的信息处理最终由一些服务器软件来处理
而这些软件的提供者一般由第三方来提供,只要开发人员将相关的软件与功能性代码
部署到相关的服务器上客户部就能通过游览器来访问这些软件或代码功能
常用的服务器
IIS 由微软提供支持ASP
APAChe  该服务器由apache提供的web服务器器特长是能够高效的处理静态网页
Tomcat| 也是由apache提供的web服务器提供jsp 和server支持但是tomcat只是一个轻量级
的java web 容器像ejb这样的服务在tomcat中是不能运行的
JBoss,是一个开源的重量级的java web 服务器提供对j2ee各种规范的支持是sun 公司认可的
j2ee容器
web开发技术的发展
传统的web服务器开发
(1)提供有限的静态web 网页
(2)每个网页显示的内容保持不变
(3)信息更新周期长
不足
(1)提供的信息不够及时
(2)当要改变信息时网页必须的重新写过不立于网站的扩展
(3)页面静态不能满足多样性需求
动态web技术
给客户提供及时的信息和多样性的服务,根据用户的不同请求返还回不同的
动态响应
CGI页面动态的实现
动态输出的CGI是运行在服务器上的,根据客户的不同请求给出相应的整个静态页面
并将其返还给整个客户端的游览器
不足
(1)每一个操作都的创建一个CGI程序的进程,所以所需的消耗很大
(2)需要重复编写处理的网络代码以及进行编译,所需的时间太大
java server:改进的CGI
特点 :
(1)只需要启动一个操作系统以及加载一个jvm很大程度上降低了消耗
(2)对于同样的操作只需要加载一个类又很大程度上降低了消耗
(3)动态加载以及请求的代码可以实现共享进一步降低消耗
(4)server能够直接跟web服务器交互而传统的CGI不能并且server还能在各个程序之间
共享数据
举例一个典型的java代码
public class helloworldtest extends httpServer{
               public void dotest(httpServerrequest request httpServlerespose
               )
therws ioexception,servleException
{
                 string cxj="登录成功";
                  response.setContentType("1.text/html");设计返回的类型
                  printwriter out =response.getwriter();用向游览器输出器的内容      
                  out.println("<html>");
                  out.println("<head>");
                  out.println("<title>") ;
                  out.println("<body>");                    这几条用于输出整个页面的相关内容
                  out.println("msg");
                  out.println("</body>");
                  out.prontln("</html>");

}
}

不足:
部分java代码嵌入html中使得修改变得很麻烦
java server 模板
是servlet api 的一个扩展是一种静态与动态页面的混合技术
jsp的基本原理:
作用:最终使得页面能够被划分
web容器处理jsp文件的三个过程
(1)翻译阶段(translatiion phase):在这一阶段,相关jsp文件在web容器中被转化为java
代码
(2)编译阶段,jsp文件被翻译成能够执行的java字节代码
(3)请求阶段,当容器接受相关的吧请求后就执行已经翻译好的jsp文件并把生成的页面
返回给客户
java web开发环境的搭建
(1)需要sun 公司官方的java开发板和运行环境JDK(java developmment kit )
(2)tomcat 开源的web服务器
(3)相关的集成开发环境
环境变量的配置
(1)在我的电脑上右击在菜单中选择属性\高级\环境变量
(2)单机新建并输入变量的名称还有变量值为JDk的安装路径
设置端口
http协议所默认的端口为80,如果服务器的端口已经是80,则URL中的端口号可以省略
否则的使用冒号家端口号并指明端口
tomcat的端口可以在C:\apche-tomcat-6.0.13\conf\server
.xml文件中配置。相关内容如下
<connector port ="8080"protocol="http"/1.1"
         concectionTimeout="20000"
          redirectport="8443"/>

 

 第二章的内容

访问tomcat服务器的方式有:
(1)使用域名localhost访问,只限于本机上,列入http://localhost:8080
(2)使用IP地址127.0.0.1访问。只限于本机上,例如http://127.0.0.1:8080
等等......
设置虚拟主机
在tomcat服务器中可以设置虚拟主机,就是说不同名的网站可以共存于一个tomcat服务器中
方法如下
修改server.xml自带的文档
相关过程如下
<engine name="catalian"defaulthost="ren">
    host name="www.baidu.com"  qppBase="webapps"/ren"/>
    host name="www.xinlang.com"   appBase="webapps/stimpy"/>
</engine>
显然其中的一个<host>代表一个虚拟主机、一个域名。
这样就实现了不同的网站可以共享在一个tomcat服务器上
举例修改helloservlet的代码
public void doget(httpservletrequest request,httpservletresponse response)
           throws servletException,toExcetption{
           response.setcharacterencoding("utf-8");     这部分代码设置请求与返回的编码方式
           resquest.setcharacterencoding("utf-8");
         
            response.setcontentype("text/html");   设置文档类型
           prinwriter  out=response.getwriter();
          
            out.println("<!docctype html public\"-//w3c//dtd html 4.01transitional//en\>")
            out.println("<html>");
            out.println("<mata http-equiv=\"content-type\"content=\"text/html;charset=utf-8\">");
            out.println("<head><title>a servlet<titele</head>");
            put.println("<body>") ;
            string requesturi=request.getrequesturl();
            out.println("<from action=' " +requesturt+"'method='post'>");
            out.println("请输入你的名字:<input type='text' name='name'/>");
            out.println("<input type=' subimt/'>");
            out.println("</from>");
            out.println("");
            

             string name=request.getparameter("name");
             if(name!=null&&name.trim(.length()>o){
             out.println("您好,<b>"+name+<b>.欢迎来到web世界.");
            }
            out.println("</body>");
            out.println("</html>");
            out.flush();
            out.clse();
}
}
从上述代码可以看出我们完全可以用servlet将整个网页内容属出给游览器
还有另一种方式我们也可以只在servlet中写ava的功能代码而网页内容与servlet分开
调试程序的dubug模式
该模式可以帮助我们按我们所设置的断点来运行程序一帮我我们了解所要运行的程序是如何运行的并
找出出错的地方
方法在选择windows\preference命令在其中进行相关的设置在即省略过程

 

}

第三章的内容冰山一角

get查询方式注意其强调的是查询
如果我们用游览器通过一个网站查询java.web则在游览器中的地址应该是http://www.baidu.com
/s?wd=javaweb.
使用到的两个命令应该如下
telnrt  www.baidu.com 80
get/s?wd=java.web http/1/0
其意义是使用get方式访问/s?wd=java.web,用到的http协议版本是1.0 对于get方法来说
其一般用于信息的查询并且在查询信息时所查询的内容是会显示在游览器地址中的并且其提交的网址
不能超过256个字节
post提交方式注意其强调的是提交
对于提交的数据不能超过256个字符的如果要提交更多的数据则需要使用到post方式
。并且post提交的内容不会在游览器地址栏中显示
post方式用来提交表单数据。例如用户的资料上传的文件
servlet概述
对于java web来说起所有的请求与响应都是有Servlet来处理并实现的并且servlet没有main之类的执行
七中访问web的方式与意义
(1)get方式表示查询方式,并且提交的url总长度不能超过256个字节
(2)post方式表示提交信息,一般用于重要的信息与文件的提交
(3)head方式表示查询的头文档信息,服务返回的文件类型,长度等等相关信息
(4)options   put   delete  trace 属于被声明了,但是还没有被使用的web访问方式

 

posted @ 2013-01-25 13:38  南海问天  阅读(190)  评论(1)    收藏  举报