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配置了以后,当出现如图情况:

tomcat简介_xml

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

二、配置端口

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





?



1


2


3




​<​​​​Connector​​ ​​port​​​​=​​​​"8888"​​ ​​protocol​​​​=​​​​"HTTP/1.1"​​   ​​//此处可以把8888换成任意端口. ​


​connectionTimeout​​​​=​​​​"20000"​​ 


​redirectPort​​​​=​​​​"8443"​​ ​​/>​



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

tomcat简介_html_02

端口被占用问题:

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

解决方案:

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

三、配置用户角色

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

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





?



1


2




​<​​​​role​​ ​​rolename​​​​=​​​​"manager-gui"​​​​/> ​


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



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

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

tomcat简介_html_03 

四、配置部署web应用路径

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

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





?



1


2


3




​<?​​​​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中导出。

tomcat简介_java_04 

常见注意点:

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中





?



1


2




​<param-name>listings</param-name>​


​<param-value>false</param-value>改成true​



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





?



1




​<​​​​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文件,例如:





?



1




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



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





?



1


2


3


4


5


6


7


8


9


10


11


12




​<​​​​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文件:





?



1


2


3


4


5


6


7


8


9


10


11


12




​<html> ​


​<head> ​


​<title>Demo</title> ​


​</head> ​


​<body> ​


​<% ​


​String str = request.getParameter(​​​​"info"​​​​); ​


​str = ​​​​"Hello,"​​​​+str; ​


​out.println(​​​​"<h1>"​​​​+str+​​​​"</h1>"​​​​); ​


​%> ​


​</body> ​


​</html> ​



web应用目录布局建议:





?



1


2


3


4


5


6


7


8


9


10


11


12


13


14




​主目录 ​


​| ​


​|-WEB-INF ​


​|  |-  web.xml ​


​|  |-  classes ​


​|  |  |-放置class文件 ​


​|  |-   lib ​


​|  |  |-放置第三方jar包 ​


​|  |-   src ​


​|  |  |-存放源文件 ​


​|-存放jsp、html ​


​| ​


​|-image ​


​|  |-存放图片​