5 Tomcat

1 Web开发入门
            1.1 引入
                之前的程序: java桌面程序,控制台控制,socket gui界面。javase规范
                现在和以后的程序:java web程序。浏览器控制。javaee规范
            1.2 软件的结构
                C/S (Client - Server  客户端-服务器端)
                        典型应用:QQ软件 ,飞秋,红蜘蛛。
                        特点:
                            1)必须下载特定的客户端程序。
                            2)服务器端升级,客户端升级。

B/S (Broswer -Server 浏览器端- 服务器端)
                        典型应用: 腾讯官方(www.qq.com)  163新闻网站, 传智官网(俗称:网站)
                        特点:
                            1)不需要安装特定的客户端(只需要安装浏览器即可!!)
                            2)服务器端升级,浏览器不需要升级!!!!

javaweb的程序就是b/s软件结构!!!
            1.3 服务器
                从物理上来说,服务器就是一台PC机器。8核,8G以上,T来计算,带宽100M

web服务器:PC机器安装一个具有web服务的软件,称之为web服务器
                数据库服务器:PC机器安装一个具有数据管理件服务的软件,称之为数据库服务器。
                邮件服务器:PC机器安装一个具有发送邮件服务的软件,称之为邮件服务器。
            1.4 web服务软件
                web服务软件的作用:把本地的资源共享给外部访问。

1.5 常见的市面上web服务软件
                    javase的规范,包含IO流,线程,集合,socket编程。。。。
                WebLogic: BEA公司的产品。 收费的。支持JavaEE规范。
                WebSphere: IBM公司的产品。收费的。支持JavaEE规范
                JBoss: Redhat公司的产品。收费的。支持JavaEE规范
                Tomcat: 开源组织Apache的产品。免费的。支持部分的JavaEE规范。(servlet、jsp。jdbc,但ejb rmi不支持)
2 Tomcat基本使用
            2.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 http://127.0.0.1:8080

          host文件地址 C:\Windows\System32\drivers\etc\hosts
                        d)看到一只猫画面,证明软件启动成功!

3.3 关闭软件
                        a)找到%tomcat%/bin/shutdown.bat,双击这个文件即可!
                        c)打开浏览器,输出以下地址。看到“无法连接”(最好先清空浏览器缓存

     2.2 tomcat软件使用的常见问题
                1)闪退问题
                原因:tomcat软件是java语言开发的。 tomcat软件启动时,会默认到系统的环境变量中查找一个名称叫JAVA_HOME的变量。
                这个变量的作用找到tomcat启动所需的jvm。
                解决办法; 到环境变量中设置JAVA_HOME的变量
                    JAVA_HOME= C:\Program Files\Java\jdk1.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: oracle数据库的端口。
                /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的文件中。
练习:
            1)在webapps下建立一个mybbs目录
            2)创建两个文件
                    2.1 index.html  里面随便写内容    ,有超链接-连接到test.html    
                    2.2 test.html   里面随便写
            3)通过浏览器访问到。

7 手动开发动态资源
            7.1 静态资源和动态资源的区别
                静态资源: 当用户多次访问这个资源,资源的源代码永远不会改变的资源。
                动态资源:当用户多次访问这个资源,资源的源代码可能会发送改变。

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

Servlet特点:
                    1)普通的java类,继承HttpServlet类,覆盖doGet方法
                    2)Servlet类只能交给tomcat服务器运行!!!!(开发者自己不能运行!!!)

Servlet手动编写步骤:
                1)编写一个servlet程序,继承HttpServlet

public class HelloServlet extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        response.setContentType("text/html;charset=utf-8");
        //向浏览器输出内容
        response.getWriter().write("这是第一个动态网站的动态资源:"+new Date());

    }

}

2)找到HelloServlet类的class字节码,然后把拷贝到tomcat的一个web应用中WEB-INF/classes目录下。
                3)在当前web应用下的web.xml文件配置Servlet。

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <servlet>
    <servlet-name>HelloServlet</servlet-name>
    <servlet-class>com.example.tomcat.HelloServlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>HelloServlet</servlet-name>
    <url-pattern>/hello</url-pattern>
  </servlet-mapping>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
</web-app>

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)
                myeclipse配置完本地的tomcat后,勾上enable,本地的tomcat具有优先启动权。
                myeclipse是内置了tomcat服务器,很多开发人员会觉得太慢,使用不习惯,都会从外部下载新的tomcat服务器,
                      这时候需要到myeclipse里面配置,如果勾选enable则优先被程序选中并开发启动。
        5)部署web project应用。(拷贝web应用到tomcat的webapps目录下)
        6)启动tomcat服务器
        7)访问servlet            
                http://localhost:8080/Tomcat/hello

第一个项目代码见 https://github.com/huanyi0723/Tomcat/

JavaWeb 5 Tomcat的更多相关文章

  1. JavaWeb入门——Tomcat的目录结构

    JavaWeb入门——Tomcat的目录结构 摘要:本文主要了解了Tomcat的目录结构. 目录结构 打开Tomcat的目录,可以看到如下文件和文件夹: bin目录 该目录下存放的是二进制可执行文件. ...

  2. JavaWeb学习-Tomcat

    打包JavaWeb应用 在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命令的用法如下:

  3. 深入分析JavaWeb Item2 -- Tomcat服务器学习和使用

    https://segmentfault.com/a/1190000004095363 一.Tomcat服务器端口的配置 Tomcat的所有配置都放在conf文件夹之中,里面的server.xml文件 ...

  4. JavaWeb中Tomcat与Eclipse的集成—步骤详解

    前面会简单介绍,下翻Tomcat与Eclipse的集成 一.先介绍一下应用程序的结构: 1.到目前为止应用程序物理结构有两种: C/S——Client / server:这种结构的应用,客户端与服务端 ...

  5. JavaWeb基础—Tomcat

    JavaWeb服务器:可以运行以及发布JavaWeb应用的JavaWeb容器,开发项目必须放在该容器中才可以被浏览器访问.(只能等待请求,然后做出响应) 静态资源(HTML):数据始终不变 动态资源( ...

  6. JavaWeb(三)——Tomcat服务器(二)

    一.打包JavaWeb应用 在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命令的用法如下:

  7. JavaWeb(二)——Tomcat服务器(一)

    一.Tomcat服务器端口的配置 Tomcat的所有配置都放在conf文件夹之中,里面的server.xml文件是配置的核心文件. 如果想修改Tomcat服务器的启动端口,则可以在server.xml ...

  8. [原创]java WEB学习笔记01:javaWeb之tomcat的安装和配置

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  9. JavaWeb之Tomcat(2) —— Tomcat的使用

    1. 启动和关闭Tomcat (1) 打开Tomcat的安装目录,在 bin 目录下,有四个文件: startup.bat 和 startup.sh,他们分别是Windows环境下的批处理文件和Lin ...

随机推荐

  1. [HTML]DIV+CSS 文字垂直居中

    在说到这个问题的时候,也许有人会问CSS中不是有vertical-align属性来设置垂直居中的吗?即使是某些浏览器不支持我只需做少许的CSS Hack技术就可以啊!所以在这里我还要啰嗦两句,CSS中 ...

  2. Android 5.1 - 状态栏充电标志问题

    Android 5.1 Ubuntu14.04  SourceInsigh 电量已满,插着USB头,观察Settings - Battery,电量为100%,状态为full,但仍有充电图标rust 之 ...

  3. 【转】如何安装mysql服务

    转载地址:http://www.2cto.com/database/201211/168081.html  我刚开始安装mysql的时候,在windows的服务里面可以看到,但是装了以后有一段时间没有 ...

  4. Oracle字符集设置

    客户端与服务端字符集不一致会造成乱码问题. 在服务端: sql>SELECT * FROM NLS_DATABASE_PARAMETERS; 在查询结果中关注如下参数: nls_language ...

  5. java截取字符串中的数字

    java从字符串中提取数字 随便给你一个含有数字的字符串,比如: String s="eert343dfg56756dtry66fggg89dfgf"; 那我们如何把其中的数字提取 ...

  6. Unity-Animator深入系列---目标匹配Target Matching

    回到 Animator深入系列总目录 一开始会理所当然的觉得,匹配是这样的: 但结果却是这样的(右边的Cube是匹配目标): 感觉这个接口应该是专门为攀爬之类的动画准备的,属于被动匹配位置,移动整个对 ...

  7. hdu 4961 Boring Sum

    Boring Sum Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Tota ...

  8. sorl维护索引库sorl4j的使用

    1.维护索引库 添加:添加一个json格式的文件就可以. 修改:在solr中没有update,只需要添加一个新的文档,要求文档id和被修改文档的id一致.原理是先删除后添加. 删除:使用xml格式. ...

  9. java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal

    今天用maven编写Selenium测试程序时,调用 HtmlUnitDriver driver = new HtmlUnitDriver(true); 反法时报错如下: java.lang.NoCl ...

  10. Linux内核中的Kconfig、xx.defconfig、xx.config、Makefile

    什么是Kconfig.xx.defconfig.xx.config.Makefile Kconfig: 一个文本形式的文件,其中主要作用是在内核配置时候,作为配置选项. xx.deconfig: Li ...