zoukankan      html  css  js  c++  java
  • Tomcat粗解

    Tomcat配置环境变量:

    1、JAVA的环境变量(JRE的也需要配置)
    2、CATALINA_BASE、CATALINA_HOME、TOMCAT_HOME配置路径是TOMCAT的安装目录
    3、TOMCAT启动和关闭是在bin目录下startup.bat和shutdown.bat文件,可以将bin目录配置到path下
    
    

    TOMCAT端口占用的问题

    方式一:
    	命令:netstat -nano可以输出所有运行程序及占用端口号
    	任务管理器结束掉占用该端口的程序
    
    方式二:
    	在配置文件中修改端口号
    	tomcat/conf/server.xml文件中:
    	    <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
    	标签下的port属性就是端口号,修改这个属性值就可以修改端口号	
    

    Tomcat的目录层次:

    • bin 存放启动和关闭Tomcat的脚本文件
    • conf 存放Tomcat服务器的各种配置文件
    • lib 存放Tomcat服务器的支撑jar包
    • logs 存放Tomcat的日志文件
    • temp 存放Tomcat运行时产生的临时文件
    • webapps web应用所在目录,即供外界访问的web资源存放目录
    • work Tomcat的工作目录,JSP会被翻译成Servlet文件,可以到这个文件夹中找源码

    WEB应用程序指供浏览器访问的程序,通常也成为web应用。
    一个web应用由多个静态web资源和动态web资源组成:

    • html、css、js文件
    • Jsp文件、java程序、支持jar包
    • 配置文件等等
    • 组成web应用的这些文件通常我们会使用一个目录组织,这个目录组织成为web应用所在目录

    静态WEB资源只需要在webapps文件夹下建文件夹,文件夹内有网页文件,启动tomcat,就可以打开:

    webapps文件夹下有hh文件夹下有h.html文件
    启动tomcat,浏览器输入localhost:8080/hh/h.html就可以打开该文件
    
    website
    - - 存放html、css等文件
    

    动态的WEB资源固定的目录:

    website
    - - WEB-INF
    - - - web.xml 程序的入口,配置文件(必须有的,最好到其他文件夹中复制)
    - - - classes 文件夹,名称固定,可选,放class文件
    - - - lib 文件夹,名称固定,可选,放jar包	
    

    web.xml文件:

    <?xml version="1.0" encoding="ISO-8859-1"?>
    	<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_3_0.xsd" version="3.0" metadata-complete="true">
    	<!-- ........ -->
    </web-app>
    
    

    Web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理,这个过程称之为虚拟目录的映射。
    虚拟路径(访问路径):

    默认和项目名称相同(不要去修改)
    WebRoot变成了虚拟路径(访问的路径)
    

    直接复制项目,需要修改虚拟路径

    项目上右键 -- 属性 --中修改
    

    配置虚拟主机
    在WEB服务器中配置一个网站,需要用Host元素进行配置,例如:

    server.xml:
    <Host name="www.sina.com" appBase="c:sina">
     	<Alias>abc.com</Alias>    
    	<Context path="/mail" docBase="c:sinamail"/>
    </Host>
    path=""代表缺省
    这个里面的name表示的是访问本地的localhost地址,appBase表示项目指定的父位置,当前的webapps代表:TOMCAT_HOME/apache-tomcat7/webapps这个位置,这个位置也是tomcat的默认的存放javaEE项目位置
    <Alias>abc.com</Alias>  表示第二域名,一个虚拟主机可以有多个域名
    在Host节点下的Context节点,就是部署一个项目,但是这个项目不是在appBase目录下,他的路径在/www/html/helloTomcat这个目录下,path表示对外访问的名称,使用tomcat更灵活
    

    配置主机要想被外界访问,必须在DNS服务器或windows系统中注册
    在windows中配置

    winwos目录下system32/drivers/etc/Hosts文件:
    IP地址 域名
    

    部署WEB程序的三种方式:
    方式一:

    项目复制到webapps文件中,如果是ecplise,可以将项目打包成war包。
    启动Tomcat服务器,访问该文件会自动解压
    

    方式二:

    打开Tomcat下的conf/server.xml,在<host></host>标签之间输入项目配置文件:
    	<Context path="..." docBase="..." reloadable="true" />
    	path:浏览器访问时的路径名
      docBase:web项目的WebRoot所在的路径,注意是WebRoot的路径,不是项目的路径。其实也就是编译后的项目
      reloadble:设定项目有改动时,tomcat是否重新加载该项目
    

    方式三:

    1、进入到conf/Catalina/localhost目录,新建一个项目名.xml文件
    2、在新建的xml文件中,增加配置语句:
    	<Context  docBase="项目路径" reloadable="true" />
    
    每个项目分开配置,tomcat 将以confCatalinalocalhost 目录下的 xml 文件的文件名作为 web 应用的上下文路径,而不再理会 <Context>中配置的 path 路径,因此在配置的时候,可以不写 path。	
    

    web.xml的模式(Schema)文件中定义了多少种标签元素,web.xml中就可以出现它的模式文件所定义的标签元素,它就能拥有定义出来的那些功能:

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

    1、指定欢迎页面,例如:

    <welcome-file-list>
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>index1.jsp</welcome-file>
      </welcome-file-list>
    这里配置了两个欢迎页面,依次查找
    

    (1)为Servlet命名:

    <servlet>
        <servlet-name>servlet1</servlet-name>
        <servlet-class>net.test.TestServlet</servlet-class>
    </servlet>
    

    (2)为Servlet定制URL

    <servlet-mapping>
        <servlet-name>servlet1</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    

    3、定制初始化参数:可以定制servlet、JSP、Context的初始化参数,然后可以再servlet、JSP、Context中获取这些参数值。下面哪servlet来举例:

    <servlet>
        <servlet-name>servlet1</servlet-name>
        <servlet-class>net.test.TestServlet</servlet-class>
        <init-param>
              <param-name>userName</param-name>
              <param-value>Tommy</param-value>
        </init-param>
        <init-param>
              <param-name>E-mail</param-name>
              <param-value>Tommy@163.com</param-value>
        </init-param>
    </servlet>
    

    然后在servlet中能够调用getServletConfig().getInitParameter("param1")获得参数名对应的值。
    4、指定错误处理页面,可以通过“异常类型”或“错误码”来指定错误处理页面。

    <error-page>
        <error-code>404</error-code>
        <location>/error404.jsp</location>
    </error-page>
    -----------------------------
    <error-page>
        <exception-type>java.lang.Exception<exception-type>
        <location>/exception.jsp<location>
    </error-page>
    

    5、设置过滤器:比如设置一个编码过滤器,过滤所有资源

    <filter>
        <filter-name>XXXCharaSetFilter</filter-name>
        <filter-class>net.test.CharSetFilter</filter-class>
    </filter>
    <filter-mapping>
       <filter-name>XXXCharaSetFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    

    6、设置监听器:

    <listener>
    <listener-class>net.test.XXXLisenet</listener-class>
    </listener>
    

    7、设置会话(Session)过期时间,其中时间以分钟为单位,假如设置60分钟超时:

    <session-config>
    <session-timeout>60</session-timeout>
    </session-config>
    
  • 相关阅读:
    IntelliJ IDEA 常用快捷键汇总
    Git常用命令
    org.h2.jdbc.jdbcsqlexception: database is already closed (to disable automatic closing at vm shutdown, add ";db_close_on_exit=false" to the db url) [90121-197]
    AbstractErrorController
    JSR-303
    MultipartFile
    day4
    day3
    day 2
    day1
  • 原文地址:https://www.cnblogs.com/changzuidaerguai/p/7613885.html
Copyright © 2011-2022 走看看