JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

JavaEE应用与开发环境--Tomcat与Eclipse

wys521 2024-11-24 22:46:30 精选教程 53 ℃ 0 评论
《爱读书系列》,我会把技术学习中阅读过的书籍通过笔记和总结的方式与粉丝分享,此系列是在原著基础上
收录和总结而来,希望大家得到更多的支持。

本书简介

书名为《轻量级JavaEE企业应用实战》,是本人在学习JavaEE框架的时候阅读的第一本书,本书对于框架及相关基础知识讲述的比较详细和浅显,适合初学者和需要全面了解JavaEE知识的人群。

本文内容为第一章的第2部分内容


Tomcat及相关配置

1.Tomcat的文件结构

  • bin:存放启动和关闭Tomcat命令的文件
  • conf:存放Tomcat的配置文件
  • lib:存放Tomcat的核心类库(JAR文件)
  • logs:存放每次Tomcat运行后产生的日志
  • temp:保存应用运行过程中的临时文件
  • webapps:用于存放WEB应用,将WEB应用复制到该路径下,Tomcat会将该应用自动部署
  • work:保存WEB应用运行过程中,编译生成的CLASS文件,该文件可以删除,但每次启动Tomcat自动创建
  • LICENSE等相关文件

2.Tomcat可视化控制台及配置

如图显示,Tomcat有三个控制台:一个是Server Status控制台;一个是Manager App控制台,还有一个是Host Manager控制台。Status用于监控服务器状态,而Manager可以部署、监控WEB应用。

登陆控制台需要输入用户名和密码,用户名和密码是Tomcat通过JAAS控制的,Manager的应用存放在webapps下,我们打开 webapps\manager\WEB-INF\web.xml,看如下片段:

<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>

通过上面的配置可知,登陆控制台需要不同的角色,对于普通用户分配一个manager-gui即可。

Tomcat采用文件安全安全域,即以文件存放用户名和密码。Tomcat的用户由conf路径下的tomcat-users.xml文件控制。在<tomcat-users>元素中增加<user>元素来增加用户并设置角色,即可以设置的用户名和密码登陆控制台。

<tomcat-users> <user username="manager" password="manager" roles="manager-gui" /> </tomcat-users>

3.部署Web应用

在Tomcat中部署WEB应用有如下几种方式:

(1)利用Tomcat的自动部署

利用Tomcat自动部署方式最简单常用,我们只需要将一个WEB应用复制到Tomcat的webapps下即可。

(2)利用控制台部署

利用控制台部署WEB应用,只需要我们在部署WEB应用的控制台所示方式输入。

完成后点击“Deploy”按钮,将会看到Tomcat的webapps目录下多了一个名为aaa的文件夹,该文件夹下的内容和我们输入的路径G:\publish\codes\02\201\webDemo目录下的内容一致。说明控制台部署实质就是利用Tomcat的自动部署。

(3)增加自定义的WEB部署文件

这种方式无须将WEB应用复制到Tomcat安装路径下,我们需要在conf目录下新建Catalina目录,然后再创建localhost目录,最后新建一个任意名字的XML文件。该文件就是部署WEB应用的配置文件,文件名为WEB应用的虚拟路径。例如我们再conf/Catalina/localhost下创建了一个dd.xml的文件。

<Context docBase="G:/publish/codes/01/aa" debug="0" privileged="true">
</Context

配置中的docBase制定了WEB应用的绝对路径,启动后,Tomcat会把docBase路径下的文件夹部署成WEB应用。访问的URL地址为:

http://ip:port/dd

(4)修改server.xml文件部署WEB应用

此方式就是修改conf下的server.xml文件,配置内容与第三种方式类似。在host元素中增加context元素。如下:

<Host name="localhost" appBase="webapps"
 unpackWARs="true" autoDeploy="true">
 <Context path="jiangjiale" docBase="F:\jiangjiale" reloadable="false"/> 
</Host> 

访问的URL地址为:

http://localhost:port/jiangjiale

4.配置Tomcat JNDI数据源

分为全局数据源和局部数据源,跟上面的情况一样,局部数据源修改conf/Catalina/localhost目录下的文件;全局数据源修改conf下的server.xml文件。

在context元素中增加resource元素即可,如下所示:

<Context docBase="G:/publish/codes/01/aaa" privileged="true">
 <!--
 name为数据源在容器中的JNDI名称
 driverClassName为数据库驱动
 url为数据库连接地址
 username,password为数据库用户名和密码
 maxActive为连接池最大活动连接数,maxIdle为连接池最大空闲连接数
 -->
 <Resource name="jdbc/db" type="javax.sql.DataSource"
 driverClassName="com.mysql.jdbc.Driver"
 url="jdbc:mysql://localhost:3306/javaee"
 username="root" password="12345" 
 maxActive="5" maxIdle="2" maxWait="1000"/>
<Context> 

PS:JNDI的全称Java Naming Directory Interface,及Java命名和目录接口,简单说就是为某个Java对象起一个名字。例如:上面JNDI的用途就是为Tomcat容器中的数据源起一个名字:jdbc/db,从而让程序可以通过该名字来访问该数据源对象。


访问上面JNDI数据源的代码如下:

//初始化Context
Context ctx = new InitialContext();
//通过JNDI查找数据源,该JNDI为java:comp/env/jdbc/db,java:comp/env是固定的前缀
DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/db");
//获取数据库连接
Connection conn = ds.getConnection();


Eclipse的插件安装

手动安装需要先下载插件的相关文件,有两种安装方式:

(1)直接安装

将插件中包含的plugins和features文件夹的内容复制到Eclipse的plugins和features文件夹,重启软件即可。此方式操作简单,但容易导致混乱。如果安装插件非常多,可能导致用户无法精确判断哪些是默认插件,哪些是扩展插件。

(2)扩展安装

通常推荐使用扩展安装,步骤如下:

  • 在Eclipse安装路径下新建dropins目录
  • 在links文件夹,创建xxx.link文件,名称任意
  • 编辑文件内容,如下
path=<pluginPath>

<pluginPath>为插件的放置路径

  • 在<pluginPath>目录下新建plugins和features文件夹
  • 将插件中包含的plugins和features文件夹的内容,复制到新建的目录中,重启即可


争议与思考

对于JAVA开发的IDE本人用过Eclipse,MyEclipse,IDEA,但是现在越来越多的人说Eclipse相关产品不好,IDEA才是最好的。对此本人就有很多不同意见,这个问题你怎么看?评论区留言。


想看什么书?在评论区留言呦!下一本书由你决定。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表