Java EE应用和开发环境之Tomcat安装配置

1.3 Tomcat的下载和安装

Tomcat是Java领域最著名的开源Web容器,简单、易用,稳定性极好,既可以作为个人学习之用,也可以作为商业产品开发。Tomcat不仅提供了Web容器的基本功能,还支持JAAS和JNDI绑定等。(JNDI:Java Naming Directory Interface,即Java命名和目录接口,就是为某个Java对象起一个名字。)既然是开源Web容器,就是个服务器,把项目部署在tomcat上然后用浏览器访问。

Tomcat 4.0X中采用了新的Servlet容器:Catalina,完整实现了Servlet2.3和Jsp1.2规范。在做Web项目时,需要http协议(也就是基于请求和响应),比如在百度中输入一行内容搜扫,那么百度服务器如何处理这个请求呢?需要创建Servlet来处理,Servlet其实就是java程序,只是在服务器端的java程序,servlet通过配置文件拦截你的请求,进行相应处理,然后展示给你相应的画面。tomcat可以用来创建Servlet的东西。

Tomcat是做什么用的:1、是jsp(java Server Pages )网站的服务器之一,就像asp网站需要用到微软的IIS服务器,php网站用apache服务器一样,因为jsp动态网站使用脚本语言等,需要服务器来解释语言,服务器就是这个功能。2、如果网页是纯HTML的,浏览器可以直接解释并查看效果,但是网页一但是.jsp\.asp\.php等的动态网页时,浏览器无法自己解释,这时需要上面1、说的服务器。tomcat就是可以解释jsp等java编写的网站

1.3.1 安装Tomcat服务器

1、登录 http://tomcat.apache.org 站点,下载Tomcat合适的版本。我下载的是Tomcat 8.0.39,windows 64位的。如下图。

2、下载完毕后,解压到任意目录。看到里面有如下文件:

bin:存放启动和关闭Tomcat的命令的路径;

conf:存放Tomcat的配置,所有的Tomcat的配置都在此路径下设置;

lib:存放Tomcat的服务器类的核心类库(JAR文件),如果需要扩展Tomcat的功能,也可将第三方类库复制到该路径下(MySQL下的驱动程序就要放进来)

logs:空路径,保存每次Tomcat运行后产生的日志;

temp:保存Web应用运行过程中的临时文件;

webapps:此路径用来自动部署Web应用,将Web应用复制在该路径下,Tomcat会将该应用部署在容器中;

work:保存Web应用在运行过程中,编译生成的class文件。可以删除,但是每次启动Tomcat时,都会创建;

LICENSE等相关文档。

这里注意,运行Tomcat还需要配置一个环境变量,JAVA_HOME.不管是Win还是Linux,配置此变量即可。该值指向JDK(不是JRE哦)的安装路径。如下图:

3、启动Tomcat,双击 Tomca t安装路径中 bin 目录中的 startup.bat 文件即可。

启动后,打开浏览器,地址栏输入http://localhost:8080,出现下面画面,则说明配置成功。(我的修改过端口,所以是:8888)

安装成功后,还需要对Tomcat进行必要的配置。

1.3.2 配置Tomcat的服务端口

默认端口是8080,可以修改,还可以修改配置文件让Tomcat同时在多个端口服务。

打开Tomcat安装路径下的conf文件夹,打开server.xml文件。(推荐使用EditPlus),找到第69行处,看到如下代码:

为了避免和公用端口冲突,我改为了 8888 。修改完后,需要重新打开 startup.bat 文件,再去浏览器输入 http://localhost:8888 仍看到上面的网页,则修改成功。(如果需要让Tomcat运行多个服务,只需要复制server.xml文件中的<Service>元素,并修改相应的参数,便可实现一个Tomcat运行多个服务,当然必须在不同的端口提供服务)

这里修改name和port,然后再地址栏输入相应的http://localhost:8880就可以。

在开发阶段,希望Tomcat能列出Web应用根路径下的所有页面,这样能更方便的选择需要调试的JSP页面。找到conf目录下的web.xml文件,修改如下第111行的false修改为true。

1.3.3 进入控制台

上图页面中右上角有三个控制台:一个是Server Status控制台(监控服务器状态),另一个是Manager App控制台,还有一个Host Manager控制台。(Manager控制台父负责部署,监控Web应用)。点击第二个Manager App,即是进入Manager控制台的连接,单机,出现下图所示:

·

需要输入用户名和密码才能进入,控制台的用户名和密码是通过Tomcat的JAAS(全称:Java Authentication Authorization Service(Java验证和授权API))控制的。刚才已经说过,Tomcat安装路径下的webapps路径是Web引用的存放位置,而Manager控制台对应的Web应用也是存放在该路径下的。进入webapps/manager/WEB-INF路径下,该路径存放了Manager应用的配置文件,打开其中的web.xml文件:找到如下代码片段:

  <!-- Define a Security Constraint on this Application -->
  <!-- NOTE:  None of these roles are present in the default users file -->
  <security-constraint>
  <!-- 访问/html/*资源需要manager-gui角色-->
    <web-resource-collection>
      <web-resource-name>HTML Manager interface (for humans)</web-resource-name>
      <url-pattern>/html/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
       <role-name>manager-gui</role-name>
    </auth-constraint>
  </security-constraint>
  <security-constraint>
  <!-- 访问/text/*资源需要manager-script角色 -->
    <web-resource-collection>
      <web-resource-name>Text Manager interface (for scripts)</web-resource-name>
      <url-pattern>/text/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
       <role-name>manager-script</role-name>
    </auth-constraint>
  </security-constraint>
  <security-constraint>
  <!-- 访问/jmxproxy/*资源需要manager-jmx角色 -->
    <web-resource-collection>
      <web-resource-name>JMX Proxy interface</web-resource-name>
      <url-pattern>/jmxproxy/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
       <role-name>manager-jmx</role-name>
    </auth-constraint>
  </security-constraint>
  <security-constraint>
  <!--访问/status/*资源可以使用以下任意一个角色 -->
    <web-resource-collection>
      <web-resource-name>Status interface</web-resource-name>
      <url-pattern>/status/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
       <role-name>manager-gui</role-name>
       <role-name>manager-script</role-name>
       <role-name>manager-jmx</role-name>
       <role-name>manager-status</role-name>
    </auth-constraint>
  </security-constraint>

  <!-- Define the Login Configuration for this Application -->
  <!-- 确定JAAS的登录方式-->
  <login-config>
  <!--BASIC表明使用弹出式窗口登录-->
    <auth-method>BASIC</auth-method>
    <realm-name>Tomcat Manager Application</realm-name>
  </login-config>
根据上面的代码片段,发现登录Manager控制台可能需要不容的manager角色。普通开发用户通常需要访问匹配/html/*、/status/*的资源,因此需要为该用户分配一个manager-gui角色即可。

Tomcat的用户有conf路径下的tomcat-user.xml文件控制,打开该文件,修改如下片段:


在这两个里面增加 rolename 和 username,password,roles。使用 username和password就可以登录,登录后的界面如下图:

上图中,当前Tomcat下部署的Web应用其实就是webapps目录下的应用。Tomcat提供两种方式部署Web应用;一种是把整个路径部署成web应用,一种是将WAR文件部署成Web应用。上图没有显示,如下图。


1.3.4 部署Web应用

有如下几种方式:①利用Tomcat的自动部署。②利用控制台部署。③增加自定义的Web部署文件。④修改server.xml文件部署Web应用。

方式一:最简单,只要把一个Web应用复制到Tomcat的webapps下,系统就会自动把它部署到Tomcat中。

方式二:利用控制台部署也很简单,只要在控制台按照如图所示输入即可:

然后点击Deploy,完成部署!会发现,在Tomcat的webapps目录下多了一个名为bbb的文件夹,且bbb中的文件与上面WAR url中的文件相同。

。其实这种方式还是由Tomcat自己部署的。

方式三:需要在conf目录下新建Catalina目录,再在Catalina目录下新建localhost目录,最后在该目录上新建一个名字任意的XML文件-该文件是部署Web应用的配置文件,该文件的主文件名将作为Web应用的虚拟路径。在该目录下新增test.xml文件,添加下列内容:

<Context docBase="E:\codes\02\2.3\basicSyntax" debug="0" privileged="true">
</Context>
上面docBase表示Web应用的绝对路径,再次启动时,Tomcat会把该路径下的Web应用部署成Web应用。注意下面的URL: http://localhost:8888/Test/

     

方式四:需要修改server.xml文件,这可能会破坏omcat的系统文件,不建议采用。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值