zoukankan      html  css  js  c++  java
  • day8 服务器

    XML约束

                                XML约束要求:大家能够看懂约束内容,根据约束内容写出符合规则的xml文件。

     2.1 引入

                                XML语法: 规范的xml文件的基本编写规则。(由w3c组织制定的)

                                XML约束: 规范XML文件数据内容格式的编写规则。(由开发者自行定义)

     2.2 XML约束技术

                                DTD约束:语法相对简单,功能也相对简单。学习成本也低。

                                Schema约束:语法相对复杂,功能也相对强大。学习成本相对高!!!(名称空间)

    2.3 DTD约束

                                         1)导入dtd方式

                                                   内部导入

    <!DOCTYPE note [
      <!ELEMENT note (to,from,heading,body)>
      <!ELEMENT to      (#PCDATA)>
      <!ELEMENT from    (#PCDATA)>
      <!ELEMENT heading (#PCDATA)>
      <!ELEMENT body    (#PCDATA)>
    ]>

             外部导入本地文件系统:                                              

    <!DOCTYPE note SYSTEM "note.dtd">

      公共的外部导入:

                    

    <!DOCTYPE 根元素 PUBLIC "http://gz.itcast.cn/itcast.dtd">
    2)DTD语法
                    约束标签
                        <!ELEMENT 元素名称 类别><!ELEMENT 元素名称 (元素内容)>
    
                    类别:
                            空标签: EMPTY。 表示元素一定是空元素。
                            普通字符串: (#PCDATA)。表示元素的内容一定是普通字符串(不能含有子标签)。
                            任何内容: ANY。表示元素的内容可以是任意内容(包括子标签) 
    
                    (元素内容):
                            顺序问题:
                                <!ELEMENT 元素名称 (子元素名称 1,子元素名称 2,.....)>: 按顺序出现子标签
    
                            次数问题:
                                    标签   :  必须且只出现1次。
                                    标签+  : 至少出现1次
                                    标签*   : 0或n次。
                                    标签?  : 0 或1次。
                    约束属性
                            <!ATTLIST 元素名称 属性名称 属性类型 默认值>
    
                        默认值:
                                #REQUIRED 属性值是必需的 
                                #IMPLIED   属性不是必需的 
                                #FIXED value 属性不是必须的,但属性值是固定的
    
                        属性类型:控制属性值的
                            CDATA :表示普通字符串 
                            (en1|en2|..): 表示一定是任选其中的一个值
                            ID:表示在一个xml文档中该属性值必须唯一。值不能以数字开头

    2.4 Schema约束

                                名称空间:告诉xml文档的哪个元素被哪个schema文档约束。 在一个xml文档中,不同的标签可以受到不同的schema文档的约束。

                                 1)一个名称空间受到schema文档约束的情况

                                 2)多个名称空间受到多个schema文档约束的情况

                                 3)默认名称空间的情况

                                 4)没有名称空间的情况

    Web开发入门

    3.1 引入

                                         之前的程序: java桌面程序,控制台控制,socket gui界面。javase规范

                                         现在和以后的程序:java web程序。浏览器控制。javaee规范

    3.2 软件的结构

                                         C/S (Client - Server  客户端-服务器端)

                                                            典型应用:QQ软件 ,飞秋,红蜘蛛。

                                                            特点:

                                                                     1)必须下载特定的客户端程序。

                                                                     2)服务器端升级,客户端升级。

                                         B/S (Broswer -Server 浏览器端- 服务器端)

                                                            典型应用: 腾讯官方(www.qq.com)  163新闻网站, 传智官网(俗称:网站)

                                                            特点:

                                                                     1)不需要安装特定的客户端(只需要安装浏览器即可!!)

                                                                     2)服务器端升级,浏览器不需要升级!!!!

                                                            javaweb的程序就是b/s软件结构!!!

     3.3 服务器

                                          从物理上来说,服务器就是一台PC机器。8核,8G以上,T来计算,带宽100M

                                         web服务器:PC机器安装一个具有web服务的软件,称之为web服务器

                                         数据库服务器:PC机器安装一个具有数据管理件服务的软件,称之为数据库服务器。

                                         邮件服务器:PC机器安装一个具有发送邮件服务的软件,称之为邮件服务器。

    3.4 web服务软件

                                         web服务软件的作用:把本地的资源共享给外部访问。

     3.5 常见的市面上web服务软件

                                                   javase的规范,包含IO流,线程,集合,socket编程。。。。

                                         WebLogic: BEA公司的产品。 收费的。支持JavaEE规范。

                                         WebSphere: IBM公司的产品。收费的。支持JavaEE规范

                                         JBoss: Redhat公司的产品。收费的。支持JavaEE规范

                                         Tomcat: 开源组织Apache的产品。免费的。支持部分的JavaEE规范。(servlet、jsp。jdbc,但ejb, rmi不支持)

    4 Tomcat基本使用

     4.1 下载并按照

                                1)到apache官网。www.apache.org     http://jakarta.apache.org(产品的主页)

                                2)

                                         安装版:window (exe、msi) linux(rmp)

                                         压缩版:window(rar,zip) linux(tar,tar.gz)学习时候使用

                                3)运行和关闭tomcat

                                                   3.1 启动软件

                                                            a)找到%tomcat%/bin/startup.bat ,双击这个文件

                                                            b)弹出窗口,显示信息(不要关闭次窗口)

                                                            c)打开浏览器,输出以下地址

                                                                     http://localhost:8080

                                                            d)看到一只猫画面,证明软件启动成功!

                                                   3.3 关闭软件

                                                            a)找到%tomcat%/bin/shutdown.bat,双击这个文件即可!

                                                            c)打开浏览器,输出以下地址。看到“无法连接”(最好先清空浏览器缓存)

    4.2 tomcat软件使用的常见问题

                                         1)闪退问题

                                         原因:tomcat软件是java语言开发的。 tomcat软件启动时,会默认到系统的环境变量中查找一个名称叫JAVA_HOME的变量。这个变量的作用找到tomcat启动所需的jvm。

                                         解决办法; 到环境变量中设置JAVA_HOME的变量

                                                   JAVA_HOME= C:Program FilesJavajdk1.6.0_30  (注意别配置到bin目录下)

                                                           

                                         2)端口占用的错误

                                         原因: tomcat启动所需的端口被其他软件占用了!

                                         解决办法:

                                                   a)关闭其他软件程序,释放所需端口

                                                   b)修改tomcat软件所需端口

                                                找到并修改%tomcat%/conf/server.xml文件

     <Connector port="8081" protocol="HTTP/1.1" 
                   connectionTimeout="20000" 
                   redirectPort="8443" />

                3)CATALINA环境变量问题

                                         原因: tomcat软件启动后,除了查找JAVA_HOME后,还会再查找一个叫CATALINA_HOME变量,这个变量的作用是设置tomcat的根目录。

                                         解决办法:建议不要设置CATALINA_HOME变量。检查如果有的话,清除掉!!!

    4.3 体验tomcat软件作用

                                         webapps目录: tomcat共享目录。需要共享的本地资源放到此目录中。

            

    4.4 URL

                                         URL全名叫统一资源定位符,用于定位互联网的资源。

                      

                                          问题: http://localhost:8081/myweb/test.html  看到文件?

                                         http://     协议。http协议。

                                         localhost    域名。为了找到IP地址。

                                                                               本地域名: localhost

                                                                               外部域名:www.baidu.com

                                         8081       端口。软件监听的

                                                                     8080: tomcat默认的端口

                                                                     3306:mysql数据库的端口

                                                                     1521: orace数据库的端口。

                                         /myweb:   web应用的名称。默认情况下,在webapps目录下找

                                         /test.html  : 资源名称。

    5 Tomcat的目录结构

        |-bin: 存放tomcat的命令。
                    catalina.bat 命令:
                        startup.bat  -> catalina.bat start    
                        shutdown.bat - > catalina.bat stop
            |- conf: 存放tomcat的配置信息。其中server.xml文件是核心的配置文件。
            |-lib:支持tomcat软件运行的jar包。其中还有技术支持包,如servlet,jsp
            |-logs:运行过程的日志信息
            |-temp: 临时目录
            |-webapps: 共享资源目录。web应用目录。(注意不能以单独的文件进行共享)
            |-work: tomcat的运行目录。jsp运行时产生的临时文件就存放在这里

    6 Web应用的目录结构

    |- WebRoot :   web应用的根目录
                    |- 静态资源(html+css+js+image+vedio)
                    |- WEB-INF : 固定写法。
                        |-classes: (可选)固定写法。存放class字节码文件
                        |-lib: (可选)固定写法。存放jar包文件。
                        |-web.xml                                                  

                       注意:

                                1)WEB-INF目录里面的资源不能通过浏览器直接访问

                                2)如果希望访问到WEB-INF里面的资源,就必须把资源配置到一个叫web.xml的文件中。

     7.手动开发动态资源

                         7.1 静态资源和动态资源的区别

                                         静态资源: 当用户多次访问这个资源,资源的源代码永远不会改变的资源。

                                         动态资源:当用户多次访问这个资源,资源的源代码可能会发送改变。

                         7.2 动态资源的开发技术

                                Servlet : 用java语言来编写动态资源的开发技术。

                                Servlet特点:

                                                   1)普通的java类,继承HttpServlet类,覆盖doGet方法

                                                   2)Servlet类只能交给tomcat服务器运行!!!!(开发者自己不能运行!!!)

                                Servlet手动编写步骤:

                                         1)编写一个servlet程序,继承HttpServlet

         

     1 /**
     2  * 第一个servlet程序
     3  * @author APPle
     4  *
     5  */
     6 public class HelloServlet extends HttpServlet{
     7 
     8     @Override
     9     protected void doGet(HttpServletRequest req, HttpServletResponse resp)
    10             throws ServletException, IOException {
    11         //解决中文乱码问题
    12         resp.setContentType("text/html;charset=utf-8");
    13         //向浏览器输出内容
    14         resp.getWriter().write("这是第一个servlet程序。当前时间为:"+new Date());
    15     }
    16 }
    View Code

                    2)找到HelloServlet类的class字节码,然后把拷贝到tomcat的一个web应用中WEB-INF/classes目录下。

            myeclipse中用于完成这个任务

                       3)在当前web应用下的web.xml文件配置Servlet。

            在myeclipse中,这一步在创建servlet的时候可以默认配置

    <!-- 配置一个servlet程序 -->
        <servlet>
            <!-- servlet的内部名称 ,可以自定义-->
            <servlet-name>HelloServlet</servlet-name>
            <!-- servlet类名: 包名+简单类名-->
            <servlet-class>gz.itcast.d_servlet.HelloServlet</servlet-class>
        </servlet>
    
        <servlet-mapping>
            <!-- servlet的内部名称,和上面的名称保持一致!!!-->
            <servlet-name>HelloServlet</servlet-name>
            <!-- servlet的访问名称: /名称 -->
            <url-pattern>/hello</url-pattern>
        </servlet-mapping>

            4)启动tomcat服务器,运行访问

                                         访问servlet:  http://localhost:8080/myweb/ hello

    8 工具开发动态资源

                       1)创建web project (javaweb工程)

                       2)在WebRoot下建立静态资源文件,

                       3)在src下建立动态资源文件

                                  3.1 new -> Servlet( servlet的代码生成器)

                                  3.2 写pacakge  -> class名 -> 修改mapping  url

                       4)关联tomcat服务器

                                4.1 window-> Preferences - > MyEcplise -> servers -> Tomcat 6.x (注意一定要enable)

                       5)部署web project应用。(拷贝web应用到tomcat的webapps目录下)

                       6)启动tomcat服务器

                       7)访问servlet                         

                                         http://localhost:8081/day08_web/hello

           

  • 相关阅读:
    js 去掉文本域中的空格
    网站开发步骤
    获取客户端、服务器、本地IP地址
    c#用反射原理递归遍历复杂实体对象
    jquery1.8在ie8下not无效?
    状态模式
    虚函数和抽象函数的区别
    HashTable、HashSet和Dictionary的区别
    sql视图学习笔记--视图
    html背景为灰色 不能操作,中间div可以操作
  • 原文地址:https://www.cnblogs.com/Michael2397/p/6046555.html
Copyright © 2011-2022 走看看