【转】Tomcat+MyEclipse
Tomcat+MyEclipse
单位:河南恩湃电力技术有限公司
部门:IT部—应用集成项目组
编写:刘志华
日期:2010-4-19
说明
本文中要讲述在程序开发过程中Tomcat和MyEclipse的一些使用方法和常用配置,本文适用于公司内部所有使用Tomcat做为Web服务器以及使用MyEclipse作为开发工具的人员。本文中用到的Tomcat版本是6.0.26.。文中用到的MyEclipse是version 6.5,Eclipse version 3.3.1. 不同版本之间的配置可能会有差异.
在使用Tomcat之前你需要先安装JRE或JDK(可以到Sun公司网站下载),只有安装了JRE或JDK后Tomcat才能正常运行。
一、 Tomcat的使用
1、 Tomcat的安装
Tomcat的使用分为两个类型,一个是安装版的像普通安装程序一样安装后使用,另一种是解压版本的,解压后放到任意的目录即可以使用。下面将分别介绍这两种安装方法。
1、 使用安装版本
从官方网站 http://tomcat.apache.org/download-60.cgi下载Tomcat6.0.26版本的安装版(tar)。下载到本机以后执行安装文件如下图:
一直下一步到选择安装目录:
选择你要将Tomcat安装到的任意目录下,然后下一步:
在这一步配置Tomcat运行时用到的端口号和对Tomcat进行管理的用户名密码,尽量保持默认,点击下一步:
选择Tomcat运行时用到的JRE所在目录。然后安装,直到安装完成。
安装完成后到安装目录里进行到Bin目录下执行tomcat6.exe可以看到Tomcat成功运行界面。如下图:
如果使用的是解压版本的Tomcat,将其解压到任意目录,在系统的环境变量里面配置JAVA_HOME环境变量,将其值配置为JRE所在目录(我本机配置的是C:\Program Files\Java\jre1.5.0_04),即可运行
2、 Tomcat目录说明
/bin目录:存放启动和关闭Tomcat的脚本文件
/lib目录:存放Tomcat运行时必须的jar包以及应用程序可以访问到的jar包
/conf目录:存放Tomcat服务器的各种配置文件。
/work目录:Tomcat将jsp生成的Servlet源文件和字节码存放在这个目录下
/temp目录:存放Tomcat运行时产生的临时文件
/logs目录:存放Tomcat的日志文件
/webapps目录:当发布Web应用程序时,通常把Web应用程序的目录及文件放到这个目录下。
3、 Tomcat常用设置
1) Tomcat常用端口配置
此配置适用于安装版和解压版:
打开Tomcat安装目录下conf目录下的server.xml文件。找到如下片段:
将图上的8080修改为你想设置的端口即可(注意:所要使用的端口不能被其他程序已经占用)。
2) 数据源配置
此配置适用于安装版和解压版:
打开Tomcat安装目录下conf目录下的context.xml文件.在最下面加入如下片段:
然后将Oracle的JDBC驱动包拷贝到Tomcat的lib目录下。
图中配置了两个数据源,都是用于Oracle的。一般情况下为一个数据库指定一个数据源。下面是对配置的说明
<Resource
name="jdbc/wlbm" <!-- 数据源名称,最好起一个有意义的名称-->
auth="Container" <!-- 这个默认无需修改-->
type="javax.sql.DataSource" <!-- 这个默认无需修改-->
driverClassName="oracle.jdbc.driver.OracleDriver" <!-- 这里用到的是oracle数据库的驱动包。-->
url=" jdbc:oracle:thin:@10.231.2.165:1521:soa " <!-- 这里是连接到oracle数据库的url,其中url="jdbc:oracle:thin:@"是固定的,如果访问oracle数据库不在本机上应该将localhost改为oracle数据库所在机子的IP地址,soa是oracle数据库的SID。 -->
username="anjian" <!-- 登陆数据库的用户名 -->
password="anjian" <!-- 登陆数据库的密码 -->
maxIdle="5" <!--为连接池最大空闲的连接数,数据库连接的最大空闲时间。超过空闲时间,数据库连接将被标记为不可用,然后被释放。设为0表示无限制-->
maxWait="5000" <!--为连接最大的等待时间,单位毫秒,如果超过此时间将接到异常。设为-1 表示无限制-->
maxActive="10"/> <!—连接池最大激活的连接数据 -1表示无限制-->
配置完context.xml后将用到的JDBC包拷贝到%Tomcat_Home%\lib目录下
在web.xml文件中的web-app节点下加入如下代码形式:
<resource-ref>
<res-ref-name>jdbc/myoracle</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
</resource-ref>
之后在程序中就可以能过以下方式获得数据库连接.注意URL后面的jdbc/wlbm和前面配置的数据源名称是一样的
Context context = new InitialContext();
DataSource ds = (DataSource)context.lookup("java:/comp/env/jdbc/wlbm ");
Connection conn = ds.getConnection();
些种方式代替的以下传统获得数据库连接的方式
3) 资源访问验证配置。
此配置适用于安装版和解压版
在此配置的资源访问验证是对用记要访问的资源进行验证,只有指定的用户才有访问指定资源的许可,能过此种方式可以为系统中的某一个页面,一项功能,甚至一个Web服务添加验证。
打开Tomcat安装目录下conf目录下的tomcat-users.xml文件.注意到如下片段:
<role rolename==”admin”/>是配置了一个用户组
<user />是为指定的用户名指定访问资源时用到的用户名和密码。为多个组指定同一个用户名和密码时用户组用逗号分割。
在Web.xml中对要进行验证的资源进行配置
<security-constraint>
<web-resource-collection>
<web-resource-name>Tax Web service</web-resource-name>
<url-pattern>/services/Test</url-pattern>路径
</web-resource-collection>
<auth-constraint>
<role-name>department-manager</role-name>角色名
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>验证方法,一般不用变
<realm-name>Authentication</realm-name>范围名称,一般不用变
</login-config>
<security-role>
<role-name>department-manager</role-name>
</security-role>
加上上面这部分内容后再访问指定的资源时将会提示输入用户名和密码。如果是Web服务调用需要在调用时指定用户名和密码,如下:
4) Tomcat使用内存配置
安装版:
执行%Tomcat_Home%bin目录下的tomcat6w.exe。如下图:
在Java选项卡上的下部可以配置使用内存大小,根据实际情况进行修改。
解压版:
Tomcat6解压版的tomcat6w.exe通常无法执行。Tomcat5及以前的版本都没有这个文件。配置的时候需要在%Tomcat_Home%bin 目录下的catalina.bat文件中加入:set JAVA_OPTS=-Xms256m -Xmx512m这一行语句即可。
5) 安装多个tomcat的配置方法
注意事项1、如果要在一台机器上安装多个Tomcat,现在只研究出了同时安装多个解压版,一个安装版其他为解压版这两种情况,同是安装两个或多个安装版Tomcat暂时不可行(如果有知道如何同时安装多个安装版的,请不吝赐教)。
注意事项2、同时安装多个Tomcat需要修改Tomcat所使用的端口号,以免运行时端口冲突。修改端口的方法参看Tomcat常用端口配置一节。要注意的是这时不仅仅是修改Tomcat常用端口配置一节中说明的那个端口号,建议将service.xml文件中的所有端口号都进行修改,否则同时运行多个Tomcat时会有错误,这是因为其他端口冲突造成的。
注意事项3、如果使用的有安装版的Tomcat,运行时其他Tomcat必须运行%Tomcat_Home%bin目录下的startup.bat文件,不能执行tomcat6.exe文件,否则会发现运行的还是安装版本的Tomcat。如果使用的多个Tomcat都是解压版的,直接运行startup.bat文件即可。
二、 MyEclipse使用
在MyEclipse 6.0以前的版本中,需要先安装Eclipse,然后将MyEclipse作为它的一个插件进行安装使用,在MyEclipse 6.0以后的版本中已经包含了Eclipse,不用再单独安装。如果需要使用最新版本的MyEclipse,可以到其官方网站下载。建议开发人员使用现有的MyEclipse版本(指我机器上的。),因为现用的MyEclipse中已安装了开发中常用的各种插件,如ibatis,xfire code generation(Web服务客户端创建工具)等。
我本机MyEclipse运行后如下图:
因为在开发中我们最常用到的是用Tomcat作为服务器进行Web应用程序的开发,所以下面就将以一个Web应用程序开发的全过程为蓝本讲述MyEclipse的常用功能。其中包括了Tomcat在MyEclipse中的配置、虚拟内存大小的配置、Web程序的创建、常用包的导入、Java编译器版本的配置、Web应用程序的发布、运行、调试、资源访问验证的配置、数据源的使用、JavaBean的创建以及如何将后台从数据库里查询出来的数据发送到前台页面显示。
1、 MyEclipse优化及常用工具栏说明
通常一个系统,20%的功能就能满足日常80%的需求,MyEclipse也不例外,它本身也提供了诸多功能性插件,但是大多数我们平时用不到,这里给出了一些常用的工具栏说明:如下图
2、 在MyEclipse中配置Tomcat
在菜单中选择windows→preferences。在弹出的框中打开MyEclipseEnterp Workbench→Servers。在Servers下我们能看到很多类型的服务器,我们用到的是Tomcat6,所以选择Tomcat6.如下图:
点击第一个文本框右侧的浏览按钮,选择自己Tomcat的安装目录。其他文本框会自己填充。
选中Tomcat 6.x下的JDK。出现下图:
在这一步中可以配置Tomcat使用的JDK版本以及Tomcat运行时占用的内存分配情况,在能过MyEclipse启动Tomcat时,MyEclipse会将这些参数传递给Tomcat.
选中Tomcat 6.x下的Launch。出现下图:
在这一步是配置Tomcat启动的方式,是调试方式还是常规运行,建议开发的时候选择调试方式,这样运行出现错误的时候我们可以能过MyEclipse进行调试。
点击确定完成配置,这时回到MyEclipse主界面的工具栏上,点击服务器图标右侧的箭头可以看到已经配置好的Tomcat6.如下图:
点击start执行。能过控制台我们可以看到服务器运行成功,说明我们配置无误,如下图:
如果在你的MyEclipse中看不到控制台视图,可以能过如下方式调出(看不到其他视图能过这种方式也可以调出):
在菜单上选择Window→Show View。如下图:
在这里可以选择我们常用到的视图资源。如果还没有,可以点击下方的Other,在弹出的框能根据查找我们需要的视图。如下图:
双击要使用的视图即可。
3、 创建Web工程
下面将建立一个名称为myweb的Web工程
Step1:选择File→New→Web Project。在弹出的New Web Project框中写入我们工程的名字myweb,并选择Java EE 5.0。如下图:
Step2:点击finish完成。即可在MyEclipse工作区中看到我们新创建的Web工程。如下图:
Step3:修改上图上WebRoot下的index.jsp页面,修改后内容如下图:
Step4:将工程发布到Tomcat中。
在工具栏上点击工程发布按钮,弹出如下图:
在下拉列表中选择我们的myweb.然后点击右侧的Add按钮,弹出工程发布框,如下:
选择完服务器后点击Finish返回,再确定返回即可。这时能过下方的Services视图我们能看到已经将myweb发布到了指定的Tomcat下(如果看不到Services视图,请参照前一节后半部分的内容)。如下图:
Step5:启动服务测试
点击工具栏上服务器按钮右侧的箭头,选择要启动的服务,然后点击启动:如下:
能过控制台视图就能查看到我们的工程运行是否成功。如下图:
可以发现已经启动成功了,打开浏览器输入http://localhost:8080/myweb/index.jsp进行访问。可以看到如下结果:
到此,恭喜你已经完成了一个最简单的Web工程的创建、发布及运行。
4、 为工程添加一个Servlet。
Step1:创建包
选择工具栏上的包按键,在弹出的对话框上输入要创建的包名。如下图:
Step2:选择File→New→Other,在弹出的new对话框上选择创建Servlet,如下图:
点击Finish。填写要创建的Servlet信息。如下:
点击Next,在新的对话框内配置Servlet的URL,一般保持默认。如下:
点击Finish,即可完成Servlet的创建。同时Web.xml中已经自动配置了此Servlet。如下图:
以照上述方法创建第二个Servlet,名为SecondServlet.
5、 用MyEclipse连接Oracle数据库。
通常我们不会去使用MyEclipse去连接Oracle数据库,可能更多的是使用Pl/Sql。不过既然本文是要讲MyEclipse的使用,那就让我们使用MyEclipse提供的功能吧。
在我机器上安装的是Oracle10g,里面有我建立的一个名为test的用户,下面就将通过MyEclipse连接到这个用户上。
Step1:在DB Browser视图中单击鼠标右键(看不到DB Browser视图的请参照第2节的说明)。选择New,弹出配置对话框。如下图:
各个值的含义在图上都有说明,在此不在赘述。点击Next进入到Schemas Details对话框,选择第二个Default schema only.然后Finish。在DB Browser视图中即可看到新建立的数据库连接。如下图:
Step2:查看数据库。
鼠标选中刚刚建立的连接,点击右键选择Open connection,打开一个新的数据库连接。如下图:
Step3:新建一个表
新建的这个表将会在我们myweb工程中用到。
在上一步看到的TABLE上点击鼠标右键。选择New Table。出现表新建视图,如下:
为表指定表名为test.点击Columns选项卡里面的Add按钮添加字段。下图添加了一个名为ID的字段,并作为主键。
点击Finish即可为表添加一个字段,依照上述方法再为表添加name和age字段,如下图:
点击Finish完成表的创建。可以在DB Browser中看到如下表的结构:
6、 配置数据源
请按照Tomcat使用,数据源配置一文中讲述的方法进行配置,配置的结果如下
Context.xml中:
Web.xml中如下:
7、 创建一个JavaBean
Step1:先按照第4步中的说明创建一个com.ewns.bean包。
Step2:点击工具栏上类创建图标右侧的箭头。选择Class,创建一个类(也可以从菜单File→New中创建)。在弹出的类创建对话框中填写类信息。如下图:
点击Finish。即完成了类的创建。
Step3:在类中添加三个字段(也叫属性或域),具体如下图:
Step4:为Bean添加getter和setter方法。
在TestBean里面点击鼠标右键→Source→Generate Getters and Setters。
或者选菜单Source→Generate Getters and Setters.
都将出现如下对话框:
点击Ok,可以看到TestBean中添加了选定属性的getter和setter方法
8、 根据数据源创建数据库连接类。
创建一个名为DBManage(此类放在了com.ewns.bean包下)的类,此类有一个根据数据源获得数据库连接的方法getConnection。类具体信息如下:
注意图中代码中的注释
9、 新建一个JSP页面
在myweb工程下的WebRoot文件上点击鼠标右键→New→Other,选择JSP。如下图:
下一步:填写JSP页面的名称为list.jsp。然后点击Finish。在WebRoot下可以看到新建的JSP页面。如图:
页面内容修改为如下所示:
在这个页面中我使用了JSTL标签中的核心标签库,核心标签库的用法请参看我的另一片文章《java常用java工具包使用说明》。
同时把第一个index.jsp修改内容如下:
10、 修改FirstServlet和SecondServlet
修改后的FirstServlet的doGet方法如下:
使用request.setAttribute();将数据发送到了前台页面。
修改后的SecondServlet的doPost方法如下:
11、 查看执行结果
将工程发布到前面配置的Tomcat中。在浏览器输入:http://localhost:8080/myweb/servlet/FirstServlet,可以看到如下页面:
点击添加,进入到index.jsp添加页面:
输入信息提交,后将会返回到list.jsp页面。如下:
可以看到,我们添加的数据已经保存到数据库,也能读取出来。
这也说有我们在Tomcat下配置的数据源是正确无误的。
12、 为请求添加资源访问验证
下面我们将为http://localhost:8080/myweb/servlet/FirstServlet这个请求添加访问验证,只有具有正确用户名和密码的访问才被许可。
添加验证的步骤在前面Tomcat使用,资源访问验证配置一节中已经有说明,这里只贴出来配置后的结果。
Tomcat-users.xml里面的配置如下:
Web.xml里面的配置如下:
重新发布、运行我们的工程后再问访问http://localhost:8080/myweb/servlet/FirstServlet。将会看到如下所示的图:
输入用户名密码后确定:看到如下图:
可以看到真正的结果了。