Java开发环境及开发基础-环境配置-Tomcat服务器

Tomcat服务器


Tomcat是纯Java实现的,具有平台无关性。


◆Tomcat版本的选择:

      JDK1.4 建议使用 Tomcat5.0.x系列

      JDK1.5 建议使用 Tomcat5.5.x系列

      JDK1.6 建议使用 Tomcat6.0.x以上系列

      对于Servlet3.0规范,需要使用 Tomcat7.0.x或更新的版本系列。


◆Tomcat工具的选择:

      Windows平台下载ZIP包,Linux平台下载TAR包,建议不要下载安装文件,因为安装的Tomcat看不到启动、运行时控制台的输出,不利于开发。


      解压缩后的文件主要具有以下结构:

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

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

          lib:存放着Tomcat服务器的核心类库(Jar文件),如果需要扩展Tomcat功能,也可将第三方类库复制到该路径下。

          logs:这是一个空路径,该路径用于保存Tomcat每次运行后产生的日志。

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

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

          work:保存Web应用运行过程中,编译生成的class文件。该文件夹可以删除,但每次启动Tomcat服务器时,系统将再次建立该路径。


◆Tomcat使用的前提条件:

      运行Tomcat只需要一个环境变量:JAVA_HOME;该环境变量的值指向JDK安装路径;JDK安装路径下有javac.exe、native2ascii.exe等程序;JDK安装路径下还含有一个lib目录,该路径下应该还有dt.jar和tools.jar两个文件。


◆启动Tomcat:

      对于Windows平台只需要双击Tomcat安装路径下bin路径中的startup.bat文件即可,启动后的画面如下所示(下图是Tomcat7启动的画面):



 

◆配置Tomcat的服务端口:

      Tomcat的默认服务端口是8080,可以通过管理Tomcat配置文件来改变该服务端口,甚至可以通过修改配置文件让Tomcat同时在多个端口提供服务。Tomcat的配置文件都放在conf目录下,控制端口的server.xml文件也存放在该路径下,其中有以下配置:

      <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

      其中,port="8080"就是Tomcat提供Web服务的端口,将8080修改成任意端口,建议使用1024以上的端口,避免与公用端口冲突。


      如果需要让Tomcat运行多个服务,只需要复制server.xml文件中的<service>元素,并修改相应的参数即可实现一个Tomcat运行多个服务,当然必须使用不同的端口提供服务。<service>元素如下:


  <Service name="Catalina">

    <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>

    <Engine defaultHost="localhost" name="Catalina">

      <Realm className="org.apache.catalina.realm.LockOutRealm">

        <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>

      </Realm>

      <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t &quot;%r&quot; %s %b" prefix="localhost_access_log." suffix=".txt"/>

      <Context docBase="E:\iDev\jdev\ide\jee3.7_zh\tomcat\7.0.22\wtpwebapps\servlet2_5" path="/servlet2_5" reloadable="true" source="org.eclipse.jst.jee.server:servlet2_5"/></Host>

    </Engine>

  </Service>


◆配置Tomcat列出web应用根路径下的所有页面以便选择需要调试的JSP页面:
      在默认情况下,Tomcat不会列出web应用根路径下的所有页面,可以打开conf目录下的web.xml文件,找到如下配置,将listings参数的值修改为true即可让Tomcat列出web应用根路径下的所有页面。
      <init-param>
          <param-name>listings</param-name>
          <param-value> true </param-value>
      </init-param>

◆配置Tomcat的用户及密码:
      控制台的用户名和密码是通过Tomcat的JAAS控制的,JAAS的全称是Java Authentication Authorization Service即Java验证和授权API,它用于控制对Java Web应用的授权访问。
      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>
    <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>
    <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>
    <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>
    <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 -->
  <login-config>
    <auth-method>BASIC</auth-method>
    <realm-name>Tomcat Manager Application</realm-name>
  </login-config>
      通过以上的配置文件可知:登录Manageer控制台可能需要不同的Manager角色,对于普通开发者,通常需要匹配/text/*、/status/*的资源,因此为该用户分配一个manager-gui角色即可。
      Tomcat默认采用文件安全域,即以文件存放用户名和密码,Tomcat的用户由conf路径下的tomcat-users.xml文件控制,打开该文件,配置如下内容:
<?xml version="1.0" encoding="UTF-8"?>
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <role rolename="manager-gui"/>
  <user username="admin" password="admin" roles="tomcat"/>
  <user username="manager" password="manager" roles="manager-gui"/>
  <user password="admin" roles="manager" username="admin"/>
  <user password="admin" roles="manager" username="admin"/>
  <user password="admin" roles="manager" username="admin"/>
  <user password="admin" roles="manager" username="admin"/>
</tomcat-users>
以上配置文件中粗体字代码增加了一个用户,用户名:manager,密码:manager,角色属于manager-gui

◆Tomcat的部署形式(两种):
      1)、将整个路径部署成Web应用
      2)、将War文件部署成Web应用

◆Tomcat的部署方式:
      1)、利用Tomcat自动部署
          将Web应用复制到Tomcat的webapps下即可
      2)、利用控制台部署
          使用Tomcat的用户登录控制台,在Deploy视图中,填写context path(required)和WAR or Directory URL
          例如,context path(required):/aaa
                   WAR or Directory URL: E:\iDev\jdev\prj\meple37zh\webServlet25
          则Tomcat的webapps路径下多了一个名为aaa的文件夹,该文件夹的内容与E:\iDev\jdev\prj\meple37zh\webServlet25 路径下文件夹内容一致。
      3)、增加自定义的Web部署文件
          需要在conf目录下新建Catalina目录,再在Catalina目录下新建localhost目录,最后在该目录下新建一个名字任意的xml文件;该文件就是部署Web应用的配置文件,该文件的主文件名将作为web应用的虚拟url路径。该文件的内容通常是一个Context的标签,指明了web工程所在的绝对路径。
      4)、修改server.xml文件部署Web应用
          修改server.xml文件,一般不建议使用。
          例如:Tomcat的server.xml中的配置
           <Context path="" docBase="E:\MyEclipse\Workspaces\PrjCase\WebRoot" reloadable="true"/>

◆Tomcat配置数据源的方式(两种):
      1)、全局数据源:该数据源可以让所有的web应用访问
      2)、局部数据源:只能让单独的web应用访问
      <context docBase="G:/publish/codes/01/aa" privileged="true">
      <!-- 其中name指定数据源在容器中的JNDI名
             driverClassName指定连接数据库的驱动
      url指定数据库服务的URL
      username指定连接数据库的用户名
      password指定连接数据库的密码
      maxActive指定数据源最大活动连接数
      maxIdle指定数据池中最大的空闲连接数
      maxWait指定数据池中最大等待获取连接的客户端
      -->
            <Resource name="jdbc/dstest" auth="Container"
      type="javax.sql.DataSource"
      driverClassName="com.mysql.jdbc.Driver"
      url="jdbc:mysql://localhost:3306/javaee"
      username="root" password="32147" maxActive="5"
      maxIdle="2" maxWait="10000"/>
      </context>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
图像识别技术在病虫害检测中的应用是一个快速发展的领域,它结合了计算机视觉和机器学习算法来自动识别和分类植物上的病虫害。以下是这一技术的一些关键步骤和组成部分: 1. **数据收集**:首先需要收集大量的植物图像数据,这些数据包括健康植物的图像以及受不同病虫害影响的植物图像。 2. **图像预处理**:对收集到的图像进行处理,以提高后续分析的准确性。这可能包括调整亮度、对比度、去噪、裁剪、缩放等。 3. **特征提取**:从图像中提取有助于识别病虫害的特征。这些特征可能包括颜色、纹理、形状、边缘等。 4. **模型训练**:使用机器学习算法(如支持向量机、随机森林、卷积神经网络等)来训练模型。训练过程中,算法会学习如何根据提取的特征来识别不同的病虫害。 5. **模型验证和测试**:在独立的测试集上验证模型的性能,以确保其准确性和泛化能力。 6. **部署和应用**:将训练好的模型部署到实际的病虫害检测系统中,可以是移动应用、网页服务或集成到智能农业设备中。 7. **实时监测**:在实际应用中,系统可以实时接收植物图像,并快速给出病虫害的检测结果。 8. **持续学习**:随着时间的推移,系统可以不断学习新的病虫害样本,以提高其识别能力。 9. **用户界面**:为了方便用户使用,通常会有一个用户友好的界面,显示检测结果,并提供进一步的指导或建议。 这项技术的优势在于它可以快速、准确地识别出病虫害,甚至在早期阶段就能发现问题,从而及时采取措施。此外,它还可以减少对化学农药的依赖,支持可持续农业发展。随着技术的不断进步,图像识别在病虫害检测中的应用将越来越广泛。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值