zoukankan      html  css  js  c++  java
  • tomcat

    1 web开发入门

    1.1 回顾软件结构分类

    C/S: 客户端与服务器端

    特点:

    1)需要安装特定的客户端

    2)服务器程序升级,那么客户端程序同步升级

    B/S: 浏览器与服务器端

    特点:

    1) 不需要安装特定的客户端(只需要一个浏览器软件)

    2) 服务器程序升级,客户端程序不需要升级。

    结论:进入web开发之后,软件结构从C/S 过渡到 B/S

    java web开发就是基于B/S结构软件。

    1.2 服务器

    从物理上来说,服务器就是一台PC机器。通常配置比较高。CPU 4核,内存8G以上,硬盘T

    web服务器:在PC机器上,安装了web服务软件,提供web服务

    数据库服务器:在PC机器上,安装了数据库软件(mysql/oracle/sql server),提供了数据存储的服务

    邮件服务器:在PC机器上,安装了收发邮件服务软件,提供了收发邮件的功能

    收邮件服务器:pop3.126.com

    发邮件服务器:stmp.126.com

    1.3 常用的市面上web服务软件

    web服务软件 , 也可以说成是web服务器   

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

    javaSE规范:支持 IO流,集合,网络编程,线程技术

    javaEE规范: 支持13种技术。servlet、jsp、ejb、jdbc

    WebSphere: 是IBM公司的产品。支持JavaEE规范。收费的。解决方案

    WebSphere -> IBM操作系统(aix)- IBM服务器PC - IBM数据库(DB2)

    JBoss: 是Redhat公司的产品。支持JavaEE规范。linux。软件免费开源的。服务收费的。

    Tomcat: 是 Apache开源组织的产品。支持servlet/jsp规范(不支持ejb)。开源免费的

    tomcat用在中小应用。

    web开发基础阶段重点使用tomcat服务器

    2 Tomcat服务器

    2.1 基本操作

    1)apache官网。www.apache.org.tomcat的产品页面: http://Jakarta.

    apache.org

    2)tomcat不同的安装包

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

    压缩版本: 不分window和linux(zip 、 tar 、rar)学习时使用

    2.2 启动和关闭

    1)启动

    a)找到%tomcat%/bin/startup.bat,双击,弹出一个窗口停止不动。

    b)确认窗口上显示没有任何错误,然后打开浏览器输入:

    http://localhost:8080

    看到一只猫,证明tomcat服务器启动成功!!!

    2)关闭

    找到%tomcat%/bin/shutdown.bat,双击。

    2.3 体验tomcat服务器作用

    tomcat服务器作用:把本地资源公开给外部访问

    webapps 把需要公开访问的文件放到该目录

    2.4 URL

    URL: 统一资源定位符。用于定位基于http协议的资源。

    浏览器:  http://localhost:8080/myweb/test.html

    http:// : 协议,http协议

    执行流程: 在本地找hosts文件,如果找不到,联网找网络运营商的DNS服务器

    localhost   域名。

    localhost: 本地域名

    www.baidu.com: 外地域名

    8080      定位具体的一个软件。

    tomcat: 8080

    mysql:3306

    oracle: 1521

    web :web应用的根目录。

    test.html:  web资源

    练习:

    1)把tomcat服务器启动

    2)在webapps建立  myweb目录,编写一个html文件

    3)互相通过浏览器访问(URL)

    2.5 tomcat服务器常见问题

    1)闪退

    原因: tomcat服务器启动时(运行startup命令),在本地环境变量中查找一个叫JAVA_HOME的环境变量。(tomcat用java开发,需要用jvm运行)

    解决办法: 在本地环境变量中添加一个JAVA_HOME

    JAVA_HOME= C:Program FilesJavajdk1.6.0_30

    2)端口占用问题

    原因: tomcat服务器启动所需端口被其他软件所占用

    解决办法:

    1)把占用端口的软件停止掉(进程杀死)

    2)改变tomcat服务器启动端口

    找到%tomcat%/conf/server.xml

    <Connector port="8081" protocol="HTTP/1.1"

                   connectionTimeout="20000"

                   redirectPort="8443" />

    3)CATALINA_HOME环境变量

    原因: tomcat在启动后会通过CATALINA_HOME环境变量加装tomcat的根目录下的文件(例如conf、webapps)

    解决办法:建议不要设置CATALINA_HOME环境变量

    注意:安装版的tomcat会自动设置CATALINA_HOME环境变量设

    3 Tomcat服务器目录结构

    |-bin: 目录。存放tomcat操作命令。batwindow版本,shlinux版本。

    startup.bat  后台在调用catalina.bat start

    shutdown.bat  : 后台在调用catalina.bat stop

    |-conf: 目录。存在tomcat服务器软件的配置文件。server.xml文件是核心配置文件。

    |-lib:目录。支撑tomcat软件运行的jar包。

    |-logs:目录。存在tomcat服务器运行过程中日志信息。

    |-temp: 目录。tomct的临时目录,存在临时文件。

    |-webapps 目录。存在web应用的目录

    |-work 目录。tomcat运行目录。存放jsp页面运行过程中产生的临时文件。

    4 web应用目录结构(规范)

    |- Root: 根目录。一个web应用必须有一个根目录。

    |- 静态资源:  html+css+javascript+images+xml

    |-WEB-INF 目录。名称是固定写法。

    |-classes (可选) 目录。名称是固定写法。存放class字节码

    |-lib (可选)目录。名称是固定写法。存放jar包。不能有子目录,全部jar包放在根目录下。

    |-web.xml 文件。web应用的配置文件。

    注意:

    1)不做任何配置的情况下,WEB-INF目录下的文件不能直接通过浏览器访问。

    2)在web.xml文件中进行配置,那么WEB-INF目录下的内容就可以被外部访问到!!!

    5 web应用部署三种方法

    1)直接把web应用拷贝到webapps目录下

    默认web应用:ROOT是默认应用。访问默认应用,不需要web应用名称。

    默认资源:访问默认资源,不需要web资源名称。

    web.xml文件中配置

        <!-- 默认资源-->

    <welcome-file-list>

    <welcome-file>index.html</welcome-file>

    <welcome-file>test.html</welcome-file>

    <welcome-file>abc.html</welcome-file>

    </welcome-file-list>

    问题:tomcat软件和web应用绑定在一起。

    解决办法: tomcat软件和web应用分离!!!使用到虚拟web应用(虚拟网站)

    2)虚拟网站配置

    %tomcat%/conf/server.xml文件中修改:

    <Host name="localhost"  appBase="webapps"

         unpackWARs="true" autoDeploy="true"

         xmlValidation="false" xmlNamespaceAware="false">         

     <!--配置虚拟网站

    docBase: web应用所在的绝对路径位置。

    path: 访问web应用使用的名称。名称可以自定义

    -->

    <Context docBase="C:projectsmyweb" path="/myTest"/>

    </Host>

    注意:

    如果path为空字符串,那么也不需要名称访问该web应用,而且优先于ROOT应用。

    问题:修改了server.xml核心配置文件,风险比较高。

    解决办法: 添加配置文件方法配置虚拟网站。

    3)添加配置文件方法配置虚拟网站(推荐使用)

    %tomcat%/conf/Catalina/localhost目录下,添加abc.xml文件

    <?xml version="1.0" encoding="utf-8"?>

    <!-- 配置虚拟网站

    访问web应用名称就是xml的文件名abc

    -->

    <Context docBase="C:projectsmyweb"/>

    6 Tomcat的站点配置

    站点的配置:

    <Host name="localhost"  appBase="webapps"

                unpackWARs="true" autoDeploy="true"

                xmlValidation="false" xmlNamespaceAware="false">

            </Host>

    1)name: 表示站点的名称。访问站点就使用站点名称

        appBase: 表示站点的根目录。用于存放所有web应用。一个站点下可以包括多个web应用

    如何在tomcat下配置一个站点:

    1)修改%tomcat%/conf/server.xml

    <!--- 配置一个新的站点: www.baidu.com

    name: 站点的名称

    appBase:站点的根目录

      -->

      <Host name="www.baidu.com"  appBase="C:aidu"

                unpackWARs="true" autoDeploy="true"

                xmlValidation="false" xmlNamespaceAware="false">

          </Host>

    2)修改本地域名和ip的映射文件hosts文件,加上

    127.0.0.1       www.baidu.com

    3)启动tomcat,访问测试

    在浏览器访问:

    默认站点:

    http://localhost:8080

    新站点:

    http://www.baidu.com:8080/news/index.html

    练习: 在本地tomcat服务器上配置一个新浪站点。域名: www.sina.com.cn

    7 手动开发动态资源

    7.1 静态资源 vs 动态资源

    静态资源: html+css+javascript

    动态资源: servlet+jsp

    静态资源: 当用户多次访问该资源时,资源的源代码永远不会发送改变的资源。

    动态资源: 当用户多次访问该资源时,资源的源代码可能会发生改变的资源。

    7.2 开发动态资源技术

    Servlet技术: 用java语言开发动态资源的技术

    Servlet技术特点:

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

    2)Servlet程序必须由tomcat服务器运行!!!

    开发servlet的步骤:

    1)编写servlet程序,继承HttpServlet

    /**

     * 第一个servlet程序

     * @author APPle

     *

     */

    public class HelloServlet extends HttpServlet{

    @Override

    protected void doGet(HttpServletRequest req, HttpServletResponse resp)

    throws ServletException, IOException {

    //向浏览器输出内容

    resp.getWriter().write("this is first servlet!!!"+new Date());

    }

    }

    2)把servlet交给tomcat服务器运行!!!

    2.1 把class字节码文件拷贝到web应用的WEB-INF/classes目录下

    2.2 在web应用的web.xml文件配置servlet

    <web-app 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"

       version="2.5">

    <!--配置一个servlet -->

    <servlet>

    <!-- servet的内部名称。可以自定义-->

    <servlet-name>HelloServlet</servlet-name>

    <!--- servlet程序的全名:包名+简单类名 -->

    <servlet-class>gz.itcast.b_servlet.HelloServlet</servlet-class>

    </servlet>

    <!-- servlet的映射配置-->

    <servlet-mapping>

    <!--servet的内部名称,和上面内部名称保持一致!!! -->

    <servlet-name>HelloServlet</servlet-name>

    <!-- servlet映射路径: 表示在浏览器上访问该servlet程序的名称。该名称可以自定义 -->

    <url-pattern>/hello</url-pattern>

    </servlet-mapping>

    </web-app>

    3)浏览器访问servlet:

    http://localhost:8080/myweb/hello

    8 使用工具开发动态资源

    1)创建一个web proejct

    2)在WebRoot下编写静态资源文件(html+css+javascript)

    3)在src目录下编写servlet动态资源

    使用servlet代码生成器:

    a)右键src- > new -> 点击”servlet“

    b)servlet的包,类名,指定覆盖的方法(doGet)

    c)next-> servlet内部名称(不用改)-> url (访问servlet名称,可以改) -> finished

    点击finished之后,生成servlet的代码和web.xml的配置信息

    4)关联tomcat服务器

    a)window-> preferences- > MyEcplise->servers-> Tomcat6.X

    b)选择tomcat的根目录,然后enable。

    5)部署项目

    6)启动tomcat,访问测试

  • 相关阅读:
    anime.js 学习笔记
    swiper 报错 ‘ Can't find variable: Dom7’
    团队管理(二)
    团队管理(一)
    针对数值型数据的相关记录
    react+echarts折柱图实现
    侧边广告之心跳动画
    浅谈尾调用和尾递归
    elementUI 日期选择器获取CRON值
    elementUI 日期选择器之禁止年份事件二
  • 原文地址:https://www.cnblogs.com/lldsgj/p/10801155.html
Copyright © 2011-2022 走看看