侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

tomcat简介

技术  /  管理员 发布于 7年前   143

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   |  |-存放图片 


  • 上一条:
    servlet简介
    下一条:
    VMware配置虚拟机静态IP地址的方法
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 2024.07.09日OpenAI将终止对中国等国家和地区API服务(0个评论)
    • 2024/6/9最新免费公益节点SSR/V2ray/Shadowrocket/Clash节点分享|科学上网|免费梯子(1个评论)
    • 国外服务器实现api.openai.com反代nginx配置(0个评论)
    • 2024/4/28最新免费公益节点SSR/V2ray/Shadowrocket/Clash节点分享|科学上网|免费梯子(1个评论)
    • 近期文章
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2017-07
    • 2017-08
    • 2017-09
    • 2018-01
    • 2018-07
    • 2018-08
    • 2018-09
    • 2018-12
    • 2019-01
    • 2019-02
    • 2019-03
    • 2019-04
    • 2019-05
    • 2019-06
    • 2019-07
    • 2019-08
    • 2019-09
    • 2019-10
    • 2019-11
    • 2019-12
    • 2020-01
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2020-07
    • 2020-08
    • 2020-09
    • 2020-10
    • 2020-11
    • 2021-04
    • 2021-05
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-12
    • 2022-01
    • 2022-02
    • 2022-03
    • 2022-04
    • 2022-05
    • 2022-06
    • 2022-07
    • 2022-08
    • 2022-09
    • 2022-10
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-04
    • 2023-05
    • 2023-06
    • 2023-07
    • 2023-08
    • 2023-09
    • 2023-10
    • 2023-12
    • 2024-02
    • 2024-04
    • 2024-05
    • 2024-06
    • 2025-02
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客