配置Tomcat服务器信息:

在Tomcat的安装目录下有一个conf目录,里面存放着Tomcat服务器的配置文件,其中最为核心的配置文件是server.xml,在这个文件里我们可以配置服务器的各种参数,例如超时时间、连接数量、端口配置等等。

下面介绍一些日常中可能会去server.xml里进行配置的参数:

  1. 超时时间

  1. 最大连接数

上图中的:

<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"

maxThreads="150" minSpareThreads="4" />

这是一个Executor 元素标签,Executor 用来配置共享线程池的,其实最大连接数就取决于线程池里的线程数量,所有的Connector都能共享这个线程池,要注意的是:这个标签要写在Connector之前。

关于以上Executor里声明的属性解释:

  1. name 此属性是定义这个线程池的名字,这个名字必须唯一。

  2. namePrefix 此属性是给每个线程池中的线程的name字符串设置一个前缀,这个前缀就是namePrefix 的值,而所谓的name字符串就是线程的线程号,默认值为tomcat-exec。

  3. maxThreads  此属性定义好线程池的最大线程数量,也就是最大连接数量,默认值为200。

  4. minSpareThreads   此属性定义Tomcat始终打开的最小线程数,也就是说无论如何Tomcat中的线程数量都不会小于这个属性定义的数量,默认值为25。

除了以上用到的四种属性之外,还有一个maxIdleTime属性也比较经常会用到,这个属性用来定义在Tomcat关闭一个空闲线程之前,允许空闲线程持续的时间,单位是毫秒,默认值为60000(一分钟)。

  1. 端口

端口也就是Tomcat服务器的通信端口,默认为8080。所有的用户都是通过这个端口来访问Tomcat服务器,这个端口是可以自定义的,在Connector标签的port属性中定义:

我们在开发实验的过程中使用的默认8080端口,如果发布上线的话,需要改为80端口,80端口是http协议的默认端口号。

常见的默认端口号如下:

⑴. HTTP协议代理服务器常用端口号:80/8080/3128/8081/9080

⑵. SOCKS代理协议服务器常用端口号:1080

⑶. FTP(文件传输)协议代理服务器常用端口号:21

⑷. Telnet(远程登录)协议代理服务器常用端口:23

HTTP服务器,默认的端口号为80/tcp

HTTPS(securely transferring web pages)服务器,默认的端口号为443/tcp 443/udp;

Telnet(不安全的文本传送),默认端口号为23/tcp(***Tiny Telnet Server所开放的端口);

FTP,默认的端口号为21/tcp(***Doly Trojan、Fore、Invisible FTP、WebEx、WinCrash和Blade Runner所开放的端口);

TFTP(Trivial File Transfer Protocol),默认的端口号为69/udp;

SSH(安全登录)、SCP(文件传输)、端口重定向,默认的端口号为22/tcp;

SMTP Simple Mail Transfer Protocol (E-mail),默认的端口号为25/tcp(***Antigen、Email Password Sender、Haebu Coceda、Shtrilitz Stealth、WinPC、WinSpy都开放这个端口);

POP3 Post Office Protocol (E-mail) ,默认的端口号为110/tcp;

WebLogic,默认的端口号为7001;

Webshpere应用程序,默认的端口号为9080;

webshpere管理工具,默认的端口号为9090;

JBOSS,默认的端口号为8080;

TOMCAT,默认的端口号为8080;

WIN2003远程登陆,默认的端口号为3389;

Symantec AV/Filter for MSE,默认端口号为 8081;

Oracle 数据库,默认的端口号为1521;

ORACLE EMCTL,默认的端口号为1158;

Oracle XDB(XML 数据库),默认的端口号为8080;

Oracle XDB FTP服务,默认的端口号为2100;

MS SQL*SERVER数据库server,默认的端口号为1433/tcp 1433/udp;

MS SQL*SERVER数据库monitor,默认的端口号为1434/tcp 1434/udp;

MySQL 数据库,默认的端口号为3306/tcp;

  1. 发送关闭信息端口

这个端口在Server标签上定义:

Server标签包含的是整个Tomcat服务器。它有三个属性:

  1. className  此属性定义服务器容器实现要使用的完全限定类名。

  2. port 此属性定义接收关闭Tomcat请求的端口,这个端口只能从本地访问,所以能够阻止有人通过网络来关闭你的服务器。

  3. shutdown 用来向port 定义的端口发送关闭服务器的命令字符串。如上图就是会向8005发送SHUTDOWN命令。

  1. https加密协议端口

同样的如果是发布上线的话就要把8443改为443,因为https协议的默认端口号是443。

关于https协议:

https就是使用ssl加密的http协议,是一种加密的超文本传输协议。如果http不加密的话,被人抓包或监听了数据包,就能很轻易地看到数据包里面的数据内容,那样的话你的信息就泄露了。

如果使用的是https协议,那么你的数据包上传和下载时都会被加密,即便被人抓包了,也没有那么轻易破解加密算法,因为数据包是被公钥加密的只能使用服务器上的私钥解密,而服务器根本不会在任何情况下发送私钥,想要不通过私钥来直接破解数据包几乎是不可能的。

具体流程如图:

https协议是需要一个受信任的证书才能实现的,这个证书实际上就是一对密钥(公/私)。而我们自己也可以通过一些工具来生成这对密钥,这就叫做颁发证书。

自己颁发的证书是不受信任的,通过浏览器访问时就会有一个警告,受信任的证书需要去一些注册了的证书公司、网站上去购买,但是为什么自己颁发的证书就不受信任呢?是因为不安全吗?实际上不是的,这是因为我们自己制作的证书没有去进行相关的信任注册,没有去和浏览器厂商挂钩,而那些售卖的受信任证书就是去注册了并且和浏览器厂商挂钩了,所以浏览器才会认为是受信任的。

例如去访问12306网站的https协议时浏览器也是会显示不安全的连接:

https://www.12306.cn

这不是因为天朝没钱买证书,而是不信任那些外部购买过来的证书,所以才使用自己内部颁发的证书。

因此可以知道,显示这个警告的原因仅仅是因为浏览器没有认可这个证书,并非是真的不安全。

https原理详细可以参考以下两篇文章:

http://www.cnblogs.com/zery/p/5164795.html

http://www.jianshu.com/p/650ad90bf563

手动创建web工程

以上介绍了许多Tomcat服务器的相关配置,现在尝试手动创建一个web工程吧:

  1. 首先在Tomcat的webapps目录中创建一个工程文件夹,例如我创建一个名为myweb的一个文件夹:

  1. 在myweb目录下,创建一个WEB-INF文件夹

  1. 然后在WEB-INF目录下,分别创建classes和lib文件夹:

classes是用来存放编译后的java类文件的。

lib 里面则是存储jar包文件,也就是库文件

除了classes和lib文件夹外,你还可以创建一个web.xml文件,这个web.xml文件在以前的web工程中是必须的,但是现在则是可选的,你可以创建一个也可以选择不创建,为了简单我这里就不创建了,除了web.xml文件外这个WEB-INF目录下也可以存放JSP文件。

  1. 然后返回到myweb目录下,你站点的索引页可以放在这个目录下,所谓索引页就是index.html或者.jsp文件,当用户访问该web工程目录时不指定要访问的页面的话,就会默认访问这个索引页,所以要创建一个索引页文件,示例:

然后往这个html文件中写上一些内容:

到目前为止,我们的一个简单的web工程就构建好了,现在打开Tomcat服务器,然后使用浏览器访问这个web工程,就会默认访问index.html文件,然后根据里面的内容就会显示Hello My Web:

工程目录的结构的思维导图:

如果你不创建这个index.html索引页文件的话,就会出现404状态码,例如我现在把index.html给删掉再访问:

这个404状态码意思是找不到文件,这种情况出现于你访问一个不存在的文件时,就会出现这个状态码。

关于http状态码可参考以下教程:

http://www.runoob.com/http/http-status-codes.html

除此之外我们还可以把web工程打包成war包放在webapps目录下,这样也是发布工程的方式一种,所谓war包其实就是一个zip格式的压缩包,只不过后缀名改为了war罢了。现在就可以把刚刚构建的工程打成war包:

手动打war包的时候要注意一点,不要打包myweb这个目录,而是打包它里面的WEB-INF和index.html:

因为Tomcat是支持热部署的,所以需要先把Tomcat关掉,然后把war包剪切出来把原本的工程删掉,这时候就相当于发布了这个war包,接下来再把Tomcat启动,会发现war包被解压缩了:

这时候使用浏览器去访问myweb,依旧是显示Hello My Web:

如图代表发布成功。

除了手动构建工程和使用war包的方式发布工程外,还可以发布外部工程,也就是说发布不存放在webapps目录下的工程,这种叫做外部发布,例如我现在把war包剪切到E盘根目录下,并解压:

然后就是去server.xml中配置一段内容:

Context中的属性:

  1. path  定义在浏览器URL上填写的访问工程名称

  2. reloadable  定义是否支持热部署,所谓热部署也就是说只要某个文件的源码发生更改,服务器就会自动重新加载该web应用。

  3. docBase  定义外部工程的路径

修改完配置文件后,通过浏览器访问myweb看看是否成功:

思维导图:

在Eclipse中创建Web工程

介绍完如何手动创建和发布web工程后,当然得试一下在Eclipse中创建并发布web工程,因为在实际的日常开发环境中一般极少会使用手动的方式去创建和发布web工程,都是通过工具来进行创建和发布,比如通过Eclipse(这里的Eclipse必须是for JavaEE版本)。

创建web工程之前我们首先得配置Tomcat到Eclipse中,打开Servers控制台:

打开后在下方可以看到Servers控制台:

然后点击上图中的那段文字,进入到以下界面:

开始配置:

现在Tomcat就配置好了,下方的Servers控制台也出现了Tomcat:

然后工程目录下也出现了Tomcat服务器的目录:

配置完Tomcat了,现在就可以创建一个web工程了,右键点击选择动态工程:

现在就创建好了这样的一个web工程:

现在我们在WEB-INF目录下,创建一个索引页文件(index.html):

编辑文件内容如下:

创建完成:

好了,web工程算是构建完成了,接下来就是进行发布到Tomcat服务器上了,右键点击Tomcat:

将工程添加进去:

现在打开Tomcat目录可以看到工程已经发布进去了:

接下来就是启动Tomcat并使用浏览器访问了:

启动成功,并且控制台上会打印很多日志信息:

通过浏览器访问:

成功访问

在Eclipse上虽然是发布工程到Tomcat,但是却不是发布到Tomcat主目录下的webapps目录中,现在打开webapps目录是找不到myweb工程的:

那么如何找到这个工程发布的路径呢?查看Tomcat启动时在控制台中打印的日志信息就可以找到:

复制路径,然后粘贴到“我的电脑”中的地址栏上,回车就可以进入到该目录:

这一点要注意:这是因为在Eclipse中运行的Tomcat是一个副本而不是原本,所以如果在Eclipse中修改server.xml配置文件时出现配置不生效的情况,可以去修改原本的server.xml文件试一下。

转载于:https://blog.51cto.com/zero01/1977657

配置Tomcat和在Eclipse中创建Web工程相关推荐

  1. 【Javaweb学习笔记】在Eclipse中创建Web项目

    [Javaweb学习笔记]在Eclipse中创建Web项目 哈喽大家好,这里是Java框架学习笔记专栏第二期 本期内容--在Eclipse中创建Web项目 前期回顾: 第一期--schema约束 笔者 ...

  2. Maven学习记录之maven基本操作命令,maven本地工厂的创建,maven骨架的生成,以及在eclipse中创建maven工程:...

    摘要:今天又学习了一下maven,之前是下载并安装和配置好了maven的环境,今天主要学习的内容包括:maven本地工厂的创建,maven骨架的生成命令,maven在dos下创建maven工程,以及在 ...

  3. 在eclipse中创建web项目(非myeclipse)

    如何创建dynamic web project项目 本文的演示是从本地文件创建dynamic web project,从svn检出的同时创建dynamic web project于此类似.我们推荐使用 ...

  4. Maven的Pom文件 ( Eclipse中创建Maven工程, 使用注意点,DevOps相关)

    ■POM Eclipse 使用注意点 修改POM之后 step1:右键点击工程,Maven,プロジェクトの更新 (project 更新) step2:点击 [プロジェクト](project )⇒[すべ ...

  5. eclipse 中创建maven工程问题(常见)

    1.创建maven 工程的时候 Failed to read artifact descriptor for org.apache.maven.plugins:maven-resources-plug ...

  6. 关于Eclipse无法创建web工程问题

    当你使用Eclipse创建一个web工程时,会发现无法创建一个web工程. 原因是你的Eclipse没有安装tomcat插件,如果是MyEclipse的话自动集成的tomcat插件,则Eclipse要 ...

  7. Eclipse中Maven WEB工程tomcat调试

    http://blog.csdn.net/clj198606061111/article/details/20221133 转载于:https://www.cnblogs.com/wulongbo/p ...

  8. eclipse maven打包jar 部分jsp无法访问_Maven系列教材 (九)- 在Eclipse中创建maven风格的java web项目...

    Maven系列教材 (九)- 在Eclipse中创建maven风格的java web项目 步骤1:删除j2ee目录步骤2:新建Maven 项目步骤3:这个界面点下一步步骤4: 这个界面使用webapp ...

  9. 如何在IDEA中创建web项目并且部署到Tomcat中

    如何在IDEA中创建web项目并且部署到Tomcat中 步骤1:File->New Project, 步骤2:选择Project SDK为1.7 -> Next -> Finish( ...

最新文章

  1. Flutter开发之WebView加载网页(24)
  2. 剑指offer:链表中倒数第k个节点
  3. java 并发 mobi_Java并发编程的艺术pdf txt mobi下载及读书笔记
  4. sql privot
  5. 计算 JS 数组中最大最小值
  6. Servlet传递数据方式
  7. 【英语学习】【Level 07】U01 Making friends L2 A new friend from the past
  8. 新冠状病毒显微放大品质背景,让你做相关项目更具专业性。
  9. android 开发50个技巧面向切面编程思想
  10. signature=0880bf79d1c426abd0c8ca4bc897d06f,index.html
  11. 魔方实时通信im组件
  12. lora三层服务器协议,lorawan协议(lora无线传输协议与HTTP协议)
  13. 利用python中的pygame模块开发fc坦克大战(可自定义地图,包括部分素材)
  14. 为程序员准备的英语学习资料
  15. 人工智能应该用在这个地方!
  16. 对npm包精准控制之npm-shrinkwrap.json与package-lock.json
  17. STL容器——案例版
  18. 勉励自己毕业前必须做到的几件事情
  19. 解决Ubuntu16.04耳机没声音问题
  20. 怎么从华为nova4导入计算机,华为Nova4怎么用USB连接电脑调试教程

热门文章

  1. 在对话框中应用CScrollView显示图像
  2. android asynctask源码分析,Android通过Handler与AsyncTask两种方式动态更新ListView(附源码)...
  3. python2.7 mysql mock_Python中Mock的示例
  4. nmt模型源文本词项序列_「自然语言处理(NLP)」阿里团队--文本匹配模型(含源码)...
  5. wps底纹去不掉_汽车异味总是去不掉?建议车主试试这5个办法,空气清新又好闻...
  6. ftp windows无法访问此文件夹请确保输入的文件名_企业实战|企业FTP搭建
  7. Java项目:潜艇大战项目(java+swing)
  8. python html解析查找字符串_用python的BeautifulSoup分析html
  9. linux基础—课堂随笔010_系统启动和内核管理
  10. datatable无法设置横向滚动条(设置无效)