Tomcat介绍及配置

摘要:
=null){out.println;System.out.println;}socket.close();server.close();}}以上程序类似于一个Web服务器,在浏览器中输入http://localhost:8887,则在浏览器中会显示1.html中的内容;tomcat介绍:WEB服务器&WEB容器web服务器只能完成静态资源的请求;web容器能够进行动态资源的请求;tomcat就是一个最简单的web容器,是apache的jarkata项目的子项目。Tomcat支持JSP、Servlet,而不支持J2EE的全部规范。


web服务器的作用:


当接收的请求是动态请求,则会将请求给web容器拼凑生成代码,返回web服务器。

一般在平时说的“买服务器”是指一台专门用于安装Web服务器的计算机,web服务器只是一个软件而已。

WEB服务器介绍:

1.WebLogic 商业收费
2.WebShpere 商业收费
3.Tomcat 免费
4.JBoss 免费

商业收费的意思是如果用于商业,则收费;如果学习之用,则免费;


实现最简单的Web服务器


Server.java
import java.io.*;
import java.net.*;
public class Server{
	public static void main(String args[])throws Exception{
		ServerSocket server = new ServerSocket(8887);
		Socket socket = server.accept();
		PrintStream out = new PrintStream(socket.getOutputStream(),true);
		BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(new File("1.html"))));
		String line = null;
		while((line=in.readLine())!=null){
			out.println(line);
			System.out.println(line);
		}
		socket.close();
		server.close();
	}

}

以上程序类似于一个Web服务器,在浏览器中输入 http://localhost:8887,则在浏览器中会显示 1.html中的内容;


tomcat介绍:


WEB服务器&WEB容器

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

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


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

Tomcat支持JSP、Servlet,而不支持J2EE的全部规范。

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

下载地址http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.6/bin/即可下载7.0.6版;

tomcat 文档 下载地址:http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.6/bin/

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介绍及配置第1张

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


二、配置端口

商业中一般端口为80,因为http端口为80;比如 http://csdn.net/而不会http://csdn.net:8080

默认为8080,可以在tomcat/conf/server.xml中的第68行附近配置.

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

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

Tomcat介绍及配置第2张

端口被占用问题:

如果有其他软件占用了此端口,则会导致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验证授权服务

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

Tomcat介绍及配置第3张

四、配置部署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.可以在网页中部署,如图所示:

Tomcat介绍及配置第4张

可以通过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
	|	|-存放图片


免责声明:文章转载自《Tomcat介绍及配置》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇IntelliJ IDEA中Terminal路径的问题(win7环境)采用文件方式安装Python第三方库下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

WSGI详解

WSGI接口 了解了HTTP协议和HTML文档,我们其实就明白了一个Web应用的本质就是: 浏览器发送一个HTTP请求; 服务器收到请求,生成一个HTML文档; 服务器把HTML文档作为HTTP响应的Body发送给浏览器; 浏览器收到HTTP响应,从HTTP Body取出HTML文档并显示。 所以,最简单的Web应用就是先把HTML用文件保存好,用...

jenkins下JDK、Maven、Gradle、SVN、Tomcat、SDK安装配置

1.JDK安装与配置: 1)下载jdk,根据安装步骤一直点击下一步进行安装,安装完后配置环境变量 计算机→属性→高级系统设置→高级→环境变量 2)系统变量→新建 JAVA_HOME 变量 ,变量值填写jdk的安装目录 3)系统变量→寻找 Path 变量→编辑, 在变量值最后输入%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; (...

Nginx作为静态web服务器——缓存原理

浏览器缓存 ​ 客户端无缓存的情况下 ​ 客户端有缓存的情况下 ​ 校验过期机制 ​ 本地客户端会检查Cache-Control(max-age)缓存是否过期,(max-age)为过期时间 Last-Modified 上次修改时间 配合If-Modified-Since或者If-Unmodified-Since使用 对比上次修改时间验证资源是否需要更...

Openfire配置过程,以及与php交互注意事项。

使用 XMPP 构建一个基于 web 的通知工具 转 使用 XMPP 构建一个基于 web 的通知工具 使用 XMPP、PHP 和 JavaScript 编写实时 web 应用程序 Ben Werdmuller, 顾问和作者, Freelance Ben Werdmuller 是一位 Web 策划师和开发人员,他专注于开放源码平台。他是开源社交网络框架...

Python小项目四:实现简单的web服务器

https://blog.csdn.net/u010103202/article/details/74002538 本博客是整理在学习实验楼的课程过程中记录下的笔记形成的,参考:https://www.shiyanlou.com/courses/552。不同之处在于实验楼使用python2.7,而博主这里使用的是python3.6。在学习中也因为pytho...

Lighttpd 搭建 Web 服务器

背景:      公司项目用到了lighttpd,由于自己没有接触过,所以做下记录。 简介:      Lighttpd 是一个德国人领导的开源Web服务器软件,其根本的目的是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的web server环境。具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点。支持FastCGI, CGI,...