Javaweb开发学习笔记(一)

来源:互联网 发布:dw制作淘宝首页 编辑:程序博客网 时间:2024/05/29 14:54

JavaWeb开发概述

1.1Web相关概念

    网站的目的是提供信息服务,重在内容,程序往往都比较简单。但一个商用的Web程序往往比较辅助啊,背后结合数据库等技术,例如:ERP系统,CRM系统,网上办公,网上银行,在线业务等。

1.1.1  胖客户端程序RCP

    RCP就是需要在计算机上安装的软件,只要安装就可以高效的运行,但这样会导致占用大量的硬盘资源。

1.1.2  瘦客户端程序TCP

    TCP就是不需要安装客户端的,只要计算机能上网就行。

1.1.3  B/S和C/S结构

    我们在程序中分为网络程序和非网络程序。而网络程序分为两种:一种是B/S结构,另一种是C/S结构。

    B/S结构:通过任何一个浏览器就可以访问的程序。(Browser/Server);

    C/S结构:需要安装一个RCP程序才能使用的。(Client/Server);


1.2Web开发背景知识

1.2.1  web访问的基本原理

    ①用户打开浏览器,输入URL地址,即我们所谓的网址,这个地址就告诉浏览器要访问的是哪台主机;

    ②浏览器找到对应的主机后,向WEB服务器发送请求;

    ③服务器接收请求后做出处理,生成的处理结果大多数以HTML的格式,也有其他格式

    ④服务器把响应的结果发送给浏览器

    ⑤浏览器接收到该响应结果后,显示到客户面前


1.2.2  HTTP协议

    HTTP协议是基于浏览器和服务器之间交互的桥梁

    基于HTTP协议的客户/服务器模式的信息交互分为4个过程:

            ①建立连接:连接的建立是通过申请套接字Socket实现的,客户打开一个套接字,会把它约束在一个端口上,如果成功,就相当于建立了一个虚拟的文件,以后就可以将数据写到这个文件上,并通过网络向外传送

            ②发送请求:客户机把请求发送到服务器停留的端口上

            ③发送响应:服务器将响应发送给浏览器

            ④关闭连接:客户和服务器都可以通过套接字来关闭连接

    其中响应中有一个状态码:

       1:保留;2:表示成功接收请求;3:完成请求客户需进一步细化请求;4:客户端错误;5:服务器端错误

1.2.3  web浏览器

   常用的web浏览器有chrome,Firefox等。个人比较倾向于用chrome浏览器完成开发工作。

1.2.4  web服务器介绍

      IIS是微软公司的,提供对ASP语言的支持;

      Apache 是处理静态页面的,处理静态页面的效率极高;

      Tomcat提供对JSP和Servlet的支持,但Tomcat是轻量级的,无法处理EJB这样的服务

      JBoss是一款重量级的服务器,提供J2EE规范的支持,是Sun公司认可的

     还有Weblogic和IBM公司的WebSphere,适合大型的商业项目。


1.3  Web的技术发展

1.3.1  传统的web服务器模式开发

    全都是静态页面,每个页面的内容不变,这种模式不利于扩展,要更改内容时,往往需要新建HTML页面或者是大量修改原来的HTML页面。

1.3.2  动态展现页面技术

    ①CGI技术

        根据不同的客户端请求输出响应的HTML页面,然后服务器把这个页面返回给浏览器,作为页面的响应。

        缺点:需要为每一个请求都启动一个操作CGI的进程,如果请求过于频繁,会有很大的开销;

                    每个请求都加载和运行一个CGI,会造成很大的开销

                   需要重复的编写处理网络协议的代码

    ②Servlet技术

        Servlet相比于CGI有以下优点:

             只需要启动一个进程,只加载一个JVM,大大的降低了系统开销

             如果有多个请求做同样的处理,只用加载一个类

             所有动态加载的类可以实现对网络协议和请求解码的代码共享

             Servlet可以和服务器直接交互,还能在各个程序间共享数据,使用数据库连接池也容易实现。


下面是一个简单的Servlet:

public class HelloServlet extends HttpServlet{    public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException{          response.setContentType("text/html");          response.setCharacterEncoding("UTF-8");          PrintWriter out = resposne.getWriter();          out.println("<html>");
          out.println("<head>");
out.println("<title>HelloServlet</title>");
out.println("</head>");
out.println("<body>");
out.println("<p>HelloWorld</p>");
out.println("</body>");
out.println("</html>");
}
}

     简单了解了Servlet,虽然Servlet改进了很多CGI程序的缺点,但是Servlet是在Java代码中嵌入了HTML代码,在修改时就必须修改Servlet源代码,这样的做法还是不利于扩展我们的程序。

1.3.5  JSP

    上面我们提到Servlet还是不利于扩展,所以就有了JSP。

    JSP是一种静态HTML和动态HTML混合编码的技术。

    JSP的过程是:


1.3.6  JSP基本原理

     WEB容器处理JSP文件需要经过三个阶段:

     ①翻译阶段:JSP文件被Web容器中JSP引擎转换成Java源代码   (XX.java文件)

     ②编译阶段:将翻译好的Java文件编译成二进制的字节码文件  (XX.class文件)

     ③请求阶段:执行前面编译好的字节码文件,处理后把生成的HTML页面反馈到客户端显示


  这一章学习到入门的概念,主要掌握好web运行的原理,从客户到浏览器到服务器。了解对应的一些概念,知道这些技术在何时何地用就好了。

0 0
原创粉丝点击