tomcat简介_动力节点Java学院整理

tomcat介绍: 

web服务器只能完成静态资源的请求;

web容器能够进行动态资源的请求;

tomcat就是一个最简单的web容器,是apache的jarkata项目的子项目。

tomcat 7.0.X支持Servlet 3.0规范,因此建议使用7.0.X;

tomcat有两种版本:

(1)二进制版本:解压后需要配置环境变量,建议使用此版本。
(2)服务版本:可执行文件,安装好后会在系统中注册服务.

tomcat目录介绍:

tomcat有几个文件夹:

(1)bin:存放可执行命令,比如开启和关闭tomcat:startup.bat;
(2)conf:配置文件。
(3)webapps:发布web应用。
(4)lib:库文件,可以通过此目录扩展,比如放置数据库驱动在此文件中。
(5)work:临时的Java或class文件。

Tomcat基本配置

注意:Tomcat不要放在中文目录或带有空格的目录中;

一、配置环境变量

1.配置 JAVA_HOME :C:\Java\jdk1.6.0_27

2.配置 CATALINA_HOME:C:\apache-tomcat-7.0.6   (这个环境变量可以不配)

这里以我的配置为例,根据自己的安装位置调整;

catalina_home配置了以后,当出现如图情况:

当点击C:\tomcat\bin\startup.bat后 启动的是D:\tomcat

二、配置端口

默认为8080,可以在tomcat/conf/server.xml中的配置.

<Connector port="8888" protocol="HTTP/1.1"   //此处可以把8888换成任意端口.
      connectionTimeout="20000"
      redirectPort="8443" /> 

配置完这些后已经可以使用tomcat了,在浏览器中输入 http://localhost:8888 后弹出如下页面:

端口被占用问题:

如果有其他软件占用了此端口,则会导致tomcat不能启动;

解决方案:

用FPort等软件查看端口使用情况,然后 kill 此进程即可;

三、配置用户角色

为了在页面中管理部署web应用,必须要有用户,因此需要配置新用户和密码(原本无用户)。

在tomcat/conf/tomcat-users.xml中的<tomcat-users></tomcat-users>中添加如下语句:

<role rolename="manager-gui"/>
<user username="admin" password="12345" roles="manager-gui"/> //用户名为admin,密码为12345 

JAAS:Java Authentication Authorization Service 即Java验证授权服务

如图可以利用前面设定的用户名和密码登陆:

四、配置部署web应用路径

1.可以在webapps目录中进行部署,即直接将整个web应用复制到webapps下。

2.可以在conf/catalina/localhost目录中创建一个test.xml,在此文件中添加:

<?xml version="1.0" encoding="GBK"?>
<Context docBase="F:/publish" debug="0" privileged="true">  //docBase是路径,可以自己调整
</Context> 

这样可以输入 http://localhost:8080/test 访问,注意这个test就是xml文件的名字。

比如xml文件的名字为x.xml,则输入 http://localhost:8888/x

还需要在F:\publish,也就是web应用的目录新建一个WEB-INF文件夹,在此文件夹中新建一个web.xml,为了偷懒,可以把tomcat/webapps/WEB-INF/web.xml 的文件黏贴到F:\publish\WEB-INF中.

3.可以在网页中部署,如图所示:

可以通过war包或者一个路径部署,war包可以从Eclipse中导出。

常见注意点:

1.设置端口号:在conf/server.xml中修改。

2.配置虚拟目录:在conf/server.xml中最后添加<Context path = "...." docBase = "..."/>,

比如    <Context path = "/test" docBase = "D:\test"/>,则浏览器中输入http://localhost:8080/test则可以运行D:\test的内容。

注:在配置完后还要在conf/web.xml中

<param-name>listings</param-name>
<param-value>false</param-value>改成true

3.配置默认首页:在conf/web.xml中最后

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

说明默认为index.html,因此如果输入http://localhost:8080/test则会自动调用index.html.

4.每个web应用中都需要WEB-INF和web.xml文件,最简单的办法就是去tomcat主目录下的webapps/ROOT/的WEB-INF拷贝到你所需要的web应用文件夹下。

5.第一次用户请求某个JSP会比较慢。

原因:JSP首先会转换成JAVA文件,然后再编译成class文件,最后才执行,这些java和class的文件都在tomcat主目录的work文件夹下。

HTTP常见状态:

(1)404错误:客户路径不正确造成。
(2)500错误:服务器内部错误。

因此总的来说:

(1)2##:请求成功。
(2)4##:客户端错误。
(3)5##:服务器错误。

JSP文件简介:HTML+JAVA代码。

<%。。。%>中嵌入java代码。

在html中<form>的action属性可以设置服务器处理请求的jsp文件,例如:

<form action = "hello.jsp" method = "post">

接下来是一个最简单的应用tomcat的程序,用户输入任意字符串比如world,服务器返回hello加上字符串,比如hello,world.

<html>
  <head>
    <title>Demo</title>
  </head>
  <body>
    输入内容:
    <form action = "input.jsp" method = "post">
      <input type = "text" name = "info"/>
      <input type = "submit" value = "显示"/>
    </form>
  </body>
</html> 

jsp文件:

<html>
  <head>
    <title>Demo</title>
  </head>
  <body>
    <%
      String str = request.getParameter("info");
      str = "Hello,"+str;
      out.println("<h1>"+str+"</h1>");
    %>
  </body>
</html>

web应用目录布局建议:

主目录
  |
  |-WEB-INF
  |  |-  web.xml
  |  |-  classes
  |  |  |-放置class文件
  |  |-   lib
  |  |  |-放置第三方jar包
  |  |-   src
  |  |  |-存放源文件
  |-存放jsp、html
  |
  |-image
  |  |-存放图片 
时间: 2017-07-19

Tomcat管理平台_动力节点Java学院整理

我们可能会将很多web应用交给Tomcat,那么Tomcat服务器就要对我们这些载入的web应用进行管理,那么从哪里进入Tomcat服务器的管理平台呢?首先我们将Tomcat服务器启动,进入其主页,发现右侧三项"Server Status"."Manager App"."Host Manager"点击时都需要输入密码: 需要密码 那么用户名和密码是什么呢? 这就要看Tomcat的[conf]目录中的[tomcat-users.xml]文件了,这个

Myeclipse部署Tomcat_动力节点Java学院整理

在MyEclipse中,新建"Web Project",会看到: 我们需要注意的有以下几点: [Project Name]:工程名,代表了这个web应用所在目录名,当在服务器中发布这个web应用时,在Tomcat的[webapps]目录下,就会产生这个目录,所以对于截图来说,就会有一个[myservlet]目录. [Source folder]:代表了在这个web应用中,源代码的保存目录,这个目录专门用来放置所写的一些".java"文件,如为Servlet所写的程序

Tomcat之web应用的目录组成结构_动力节点Java学院整理

什么是web应用的组成结构?简单的说就是如何存放网站中的各个文件. 开发web应用时,不同类型的文件有严格的存放规则, 文件放错位置时可能会使web应用无法访问,也可能导致web服务器启动报错. web应用组织形式: 1)给web应用建个根文件夹,如MyWeb,则应该将xxx.html,xxx.jsp,xxx.css,xxx.js等放到MyWeb里面 2)在MyWeb下建个文件夹WEB-INF //注意文件名一定是WEB-INF,一个字都不能错 将web.xml文件放到WEB-INF里面 //w

tomcat相关配置与eclipse集成_动力节点Java学院整理

tomcat相关配置与eclipse集成 tomcat是目前比较流行的开源且免费的Web应用服务器,首先要明确一点,Tomcat与Java密切相关,因此安装使用之前要先安装JDK并设置JDK的环境变量,由于机子上已经安装好了JDK,也设置好了JDK环境变量,因此这里不再过多叙述,只说明我设置好的环境变量: JAVA_HOME:F:\JDK_Kit CLASSPATH:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(最前面有一个点) 在pat

servlet和tomcat_动力节点Java学院整理

Servlet是什么 为了能让Web服务器与Web应用这两个不同的软件系统协作,需要一套标准接口,Servlet就是其中最主要的一个接口. 规定: Web服务器可以访问任意一个Web应用中实现Servlet接口的类. Web应用中用于被Web服务器动态调用的程序代码位于Servlet接口的实现类中. SUN公司(现在被Oracle收购了--)制定了Web应用于Web服务器进行协作的一系列标准Java接口(统称为Java Servlet API). SUN公司还对Web服务器发布及运行Web应用的

tomcat目录结构简介_动力节点Java学院整理

tomcat目录结构简介 如果我们有一个web应用,名称为"mail"(同时也是web应用所在目录的名称),那么其目录内不同类型的文件应该服从如下放置的规则: 一般来讲: 对于html.jsp.css.js文件等,可以直接放置在web应用所在目录中,当然如果某些文件比较多,可以另外创建一些目录来存放. 而对于除了上述几种文件外,一些不希望被外界能访问到的文件必须放在[WEB-INF]目录中,文件名不许更改,纯大写,一点不能有区别,否则必定出错,而在这个目录下会存放一些我们开发所需的Ja

Nginx简介_动力节点Java学院整理

1.什么是Nginx Nginx来自俄罗斯的Igor Sysoev在为Rambler Media(http://www.rambler.ru/)工作期间,使用C语言开发了Nginx.Nginx作为Web服务器,一直为俄罗斯著名的门户网站Rambler Media提供着出色.稳定的服务. Igor Sysoev将Nginx的代码开源,并且赋予其最自由的2-clause BSD-like license许可证.由于Nginx使用基于事件驱动的架构能够并发处理百万级别的TCP连接,高度模块化的设计和自

RandomAccessFile简介_动力节点Java学院整理

RandomAccessFile RandomAccessFile 是随机访问文件(包括读/写)的类.它支持对文件随机访问的读取和写入,即我们可以从指定的位置读取/写入文件数据. 需要注意的是,RandomAccessFile 虽然属于java.io包,但它不是InputStream或者OutputStream的子类:它也不同于FileInputStream和FileOutputStream. FileInputStream 只能对文件进行读操作,而FileOutputStream 只能对文件进

Java字符编码简介_动力节点Java学院整理

1. 概述 本文主要包括以下几个方面:编码基本知识,Java,系统软件,url,工具软件等. 在下面的描述中,将以"中文"两个字为例,经查表可以知道其GB2312编码是"d6d0 cec4",Unicode编码为"4e2d 6587",UTF编码就是"e4b8ad e69687".注意,这两个字没有iso8859-1编码,但可以用iso8859-1编码来"表示". 2. 编码基本知识 最早的编码是iso88

Java List简介_动力节点Java学院整理

Java中可变数组的原理就是不断的创建新的数组,将原数组加到新的数组中,下文对Java List用法做了详解.  List:元素是有序的(怎么存的就怎么取出来,顺序不会乱),元素可以重复(角标1上有个3,角标2上也可以有个3)因为该集合体系有索引  ArrayList:底层的数据结构使用的是数组结构(数组长度是可变的百分之五十延长)(特点是查询很快,但增删较慢)线程不同步  LinkedList:底层的数据结构是链表结构(特点是查询较慢,增删较快)  Vector:底层是数组数据结构 线

Java异常继承结构解析_动力节点Java学院整理

Java异常类层次结构图: 异常的英文单词是exception,字面翻译就是"意外.例外"的意思,也就是非正常情况.事实上,异常本质上是程序上的错误,包括程序逻辑错误和系统错误.比如使用空的引用.数组下标越界.内存溢出错误等,这些都是意外的情况,背离我们程序本身的意图.错误在我们编写程序的过程中会经常发生,包括编译期间和运行期间的错误,在编译期间出现的错误有编译器帮助我们一起修正,然而运行期间的错误便不是编译器力所能及了,并且运行期间的错误往往是难以预料的.假若程序在运行期间出现了错误

Java Map简介_动力节点Java学院整理

Map简介 将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值.此接口取代 Dictionary 类,后者完全是一个抽象类,而不是一个接口. Map 接口提供三种collection 视图,允许以键集.值集或键-值映射关系集的形式查看某个映射的内容.映射顺序 定义为迭代器在映射的 collection 视图上返回其元素的顺序.某些映射实现可明确保证其顺序,如 TreeMap 类:另一些映射实现则不保证顺序,如HashMap 类. 注:将可变对象用作映射键时必须格外小心.当对

Java中Object toString方法简介_动力节点Java学院整理

一.Object类介绍  Object类在Java里面是一个比较特殊的类,JAVA只支持单继承,子类只能从一个父类来继承,如果父类又是从另外一个父类继承过来,那他也只能有一个父类,父类再有父类,那也只能有一个,JAVA为了组织这个类组织得比较方便,它提供了一个最根上的类,相当于所有的类都是从这个类继承,这个类就叫Object.所以Object类是所有JAVA类的根基类,是所有JAVA类的老祖宗.所有的类,不管是谁,都是从它继承下来的. 二.toString方法介绍  一个字符串和另外一种类型连接

Java Set简介_动力节点Java学院整理

1. 概述   Java 中的Set和正好和数学上直观的集(set)的概念是相同的.Set最大的特性就是不允许在其中存放的元素是重复的.根据这个特点,我们就可以使用Set 这个接口来实现前面提到的关于商品种类的存储需求.Set 可以被用来过滤在其他集合中存放的元素,从而得到一个没有包含重复新的集合. 2. 常用方法 按照定义,Set 接口继承 Collection 接口,而且它不允许集合中存在重复项.所有原始方法都是现成的,没有引入新方法.具体的 Set 实现类依赖添加的对象的 equals()

Java7之forkjoin简介_动力节点Java学院整理

Java7引入了Fork Join的概念,来更好的支持并行运算.顾名思义,Fork Join类似与流程语言的分支,合并的概念.也就是说Java7 SE原生支持了在一个主线程中开辟多个分支线程,并且根据分支线程的逻辑来等待(或者不等待)汇集,当然你也可以fork的某一个分支线程中再开辟Fork Join,这也就可以实现Fork Join的嵌套. 有两个核心类ForkJoinPool和ForkJoinTask. ForkJoinPool实现了ExecutorService接口,起到线程池的作用.所以