【转】Tomcat+MyEclipse

Tomcat+MyEclipse

单位:河南恩湃电力技术有限公司

部门:IT—应用集成项目组

编写:刘志华

日期:2010-4-19

说明

本文中要讲述在程序开发过程中TomcatMyEclipse的一些使用方法和常用配置,本文适用于公司内部所有使用Tomcat做为Web服务器以及使用MyEclipse作为开发工具的人员。本文中用到的Tomcat版本是6.0.26.。文中用到的MyEclipseversion 6.5,Eclipse version 3.3.1. 不同版本之间的配置可能会有差异.

在使用Tomcat之前你需要先安装JREJDK(可以到Sun公司网站下载),只有安装了JREJDKTomcat才能正常运行。

一、 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目录:Tomcatjsp生成的Servlet源文件和字节码存放在这个目录下

/temp目录:存放Tomcat运行时产生的临时文件

/logs目录:存放Tomcat的日志文件

/webapps目录:当发布Web应用程序时,通常把Web应用程序的目录及文件放到这个目录下。

3、 Tomcat常用设置

1) Tomcat常用端口配置

此配置适用于安装版和解压版:

打开Tomcat安装目录下conf目录下的server.xml文件。找到如下片段:

将图上的8080修改为你想设置的端口即可(注意:所要使用的端口不能被其他程序已经占用)。

2) 数据源配置

此配置适用于安装版和解压版:

打开Tomcat安装目录下conf目录下的context.xml文件.在最下面加入如下片段:

然后将OracleJDBC驱动包拷贝到Tomcatlib目录下。

图中配置了两个数据源,都是用于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中已安装了开发中常用的各种插件,如ibatisxfire code generation(Web服务客户端创建工具)等。

我本机MyEclipse运行后如下图:

因为在开发中我们最常用到的是用Tomcat作为服务器进行Web应用程序的开发,所以下面就将以一个Web应用程序开发的全过程为蓝本讲述MyEclipse的常用功能。其中包括了TomcatMyEclipse中的配置、虚拟内存大小的配置、Web程序的创建、常用包的导入、Java编译器版本的配置、Web应用程序的发布、运行、调试、资源访问验证的配置、数据源的使用、JavaBean的创建以及如何将后台从数据库里查询出来的数据发送到前台页面显示。

1、 MyEclipse优化及常用工具栏说明

通常一个系统,20%的功能就能满足日常80%的需求,MyEclipse也不例外,它本身也提供了诸多功能性插件,但是大多数我们平时用不到,这里给出了一些常用的工具栏说明:如下图

2、 在MyEclipse中配置Tomcat

在菜单中选择windowspreferences。在弹出的框中打开MyEclipseEnterp WorkbenchServers。在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中看不到控制台视图,可以能过如下方式调出(看不到其他视图能过这种方式也可以调出):

在菜单上选择WindowShow View。如下图:

在这里可以选择我们常用到的视图资源。如果还没有,可以点击下方的Other,在弹出的框能根据查找我们需要的视图。如下图:

双击要使用的视图即可。

3、 创建Web工程

下面将建立一个名称为mywebWeb工程

Step1:选择FileNewWeb 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:选择FileNewOther,在弹出的new对话框上选择创建Servlet,如下图:

点击Finish。填写要创建的Servlet信息。如下:

点击Next,在新的对话框内配置ServletURL,一般保持默认。如下:

点击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即可为表添加一个字段,依照上述方法再为表添加nameage字段,如下图:

点击Finish完成表的创建。可以在DB Browser中看到如下表的结构:

6、 配置数据源

请按照Tomcat使用,数据源配置一文中讲述的方法进行配置,配置的结果如下

Context.xml中:

Web.xml中如下:

7、 创建一个JavaBean

Step1:先按照第4步中的说明创建一个com.ewns.bean包。

Step2:点击工具栏上类创建图标右侧的箭头。选择Class,创建一个类(也可以从菜单FileNew中创建)。在弹出的类创建对话框中填写类信息。如下图:

点击Finish。即完成了类的创建。

Step3:在类中添加三个字段(也叫属性或域),具体如下图:

Step4:为Bean添加gettersetter方法。

TestBean里面点击鼠标右键→SourceGenerate Getters and Setters

或者选菜单SourceGenerate Getters and Setters.

都将出现如下对话框:

点击Ok,可以看到TestBean中添加了选定属性的gettersetter方法

8、 根据数据源创建数据库连接类。

创建一个名为DBManage(此类放在了com.ewns.bean包下)的类,此类有一个根据数据源获得数据库连接的方法getConnection。类具体信息如下:

注意图中代码中的注释

9、 新建一个JSP页面

myweb工程下的WebRoot文件上点击鼠标右键→NewOther,选择JSP。如下图:

下一步:填写JSP页面的名称为list.jsp。然后点击Finish。在WebRoot下可以看到新建的JSP页面。如图:

页面内容修改为如下所示:

在这个页面中我使用了JSTL标签中的核心标签库,核心标签库的用法请参看我的另一片文章《java常用java工具包使用说明》。

同时把第一个index.jsp修改内容如下:

10、 修改FirstServletSecondServlet

修改后的FirstServletdoGet方法如下:

使用request.setAttribute();将数据发送到了前台页面。

修改后的SecondServletdoPost方法如下:

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。将会看到如下所示的图:

输入用户名密码后确定:看到如下图:

可以看到真正的结果了。

转载于:https://www.cnblogs.com/springMVC/archive/2011/09/29/2204758.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/261221.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学生管理系统(C语言)

1 #include <stdio.h>2 #include <stdlib.h>3 #include <string.h>4 #define N 35 #define LEN (Student*) malloc(sizeof(Student))6 /* 学生数据结构 */7 typedef struct node8 {9 char num[20];10 char name[15];11 int score[N];12 int …

linux java usb 串口_2019-11-02 Linux下USB-串口的使用

在实验室配置一台设备要用到串口&#xff0c;但串口线只连到了linux服务器上&#xff0c;又不想跑一趟实验室&#xff0c;就直接用linux串口连吧&#xff0c;以前都在windows上用putty&#xff0c; securecrt软件&#xff0c;还真没直接在linux上使用&#xff0c;查一下命令记录…

C++ STL的基本基本原理

STL都是在内存的堆区分配的&#xff0c;但是其析构也是STL帮我们做好的&#xff0c;不用手动去delete。 1.vector 逻辑地址连续的一片内存空间&#xff0c;当空间不足&#xff0c;重新申请新的地址空间&#xff0c;将原有的数据复制过去&#xff0c;而新的地址空间的大小C没有规…

IE9不支持CSS line-height的文字垂直居中解决方法

IE9不支持line-height原因&#xff1a;中文ie9不支持英文字体 相信大家在IE9看见自己使用line-height设置垂直居中文字不能垂直居中&#xff0c;这是与你设置字体有关&#xff0c;通常大家习惯设置font-family:Arial, Helvetica, sans-serif; ie9中line-height失效解决方法&…

iOS 修改项目名称

2019独角兽企业重金招聘Python工程师标准>>> 1. [代码]iOS 修改项目名称 1 2. [图片] 1.png 3. [图片] 2.png 4. [图片] 3.png 5. [图片] 4.png 6. [图片] 5.png 转载于:https://my.oschina.net/5951008876/blog/681857

java wait源码_Java精通并发-透过openjdk源码分析wait与notify方法的本地实现

上一次https://www.cnblogs.com/webor2006/p/11442551.html中通过openjdk从c的底层来审视了ObjectMonitor的底层实现&#xff0c;这次继续来探究底层&#xff0c;对于wait()和notify()的底层细节到底是啥样的呢&#xff1f;下面还是先来到openjdk中来打开ObjectMonitor.hpp&…

jquery实现多级下拉菜单

支持多种浏览器&#xff0c;体验效果&#xff1a;http://keleyi.com/keleyi/phtml/jqmenu/4.htm多级菜单&#xff0c;理论上支持无限多的层级&#xff0c;文件结构非常简单的&#xff0c;以下是完整代码&#xff1a; 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 T…

listActivity和ExpandableListActivity的简单用法

今天自己简单的总结了listActivity和ExpandableListActivity二者的简单用法。 首先&#xff0c;先说一下listActivity的用法&#xff1a; ListActivity是一个绑定到一个数据源&#xff0c;并且用来显示这一串数据的Activity。ListActivity拥有一个listview对象来实现数据源的绑…

搭建git for windows服务器(100%可以成功)【转】

转自&#xff1a;http://blog.csdn.net/code_style/article/details/38764203 既然Git在linux下面非常好用&#xff0c;为什么还要搭建git windows的服务器&#xff0c;因为不是所有的用户都需要在linux下面做开发&#xff0c;对吧&#xff0c;还有很多用户选择使用windows做开…

eclipser认java源码_java相关:Eclipse查看开发包jar里源代码的方法

java相关&#xff1a;Eclipse查看开发包jar里源代码的方法发布于 2020-5-21|复制链接摘记: Eclipse查看开发包jar里源代码的方法前言&#xff1a;最近我打算学习一下谷歌的类库Guava&#xff0c;下载了Guava-r09.jar包及其源码&#xff0c;为了可以方面的看其源码&#xff0c;我…

php归档函数(按时间)实现

今日开发本站需要用到按时间归档文章的功能&#xff0c;即按文档发布时间将文章文类&#xff0c;以实现检索和统计功能&#xff0c;于是自己写了一个&#xff0c; 现分享给大家&#xff0c;相信大家工作和学习中有可能会用到&#xff0c;实现原理很简单&#xff0c;即取出文章发…

【转】高性能WEB开发系列之重绘与回流

原文转载&#xff1a;http://www.cnblogs.com/wangzhichao/archive/2011/05/16/2047633.html页面呈现流程 在讨论页面重绘、回流之前。需要对页面的呈现流程有些了解&#xff0c;页面是怎么把html结合css等显示到浏览器上的&#xff0c;下面的流程图显示了浏览器对页面的呈现的…

java字符串颠倒位置_java字符串第一个字符与最后一个字符颠倒位置测试

最近做了一个需求&#xff0c;就是 通过OA 连接到我们系统&#xff0c;然后request里 带有base64加密后的字符串&#xff0c;并且第一个与最后一个位置颠倒了&#xff0c;所以需要先恢复正常的加密串&#xff0c;然后在解密。所以首先工作是 先测试还原加密串&#xff0c;就是第…

C#自定义特性实例

元数据,就是C#中封装的一些类,无法修改.类成员的特性被称为元数据中的注释. 1、什么是特性 &#xff08;1&#xff09;属性与特性的区别 属性(Property)&#xff1a;属性是面向对象思想里所说的封装在类里面的数据字段&#xff0c;Get&#xff0c;Set方法。 特性(Attribute): …

UVA 10054 the necklace 欧拉回路

有n个珠子&#xff0c;每颗珠子有左右两边两种颜色&#xff0c;颜色有1~50种&#xff0c;问你能不能把这些珠子按照相接的地方颜色相同串成一个环。 可以认为有50个点&#xff0c;用n条边它们相连&#xff0c;问你能不能找出包含所有边的欧拉回路 首先判断是否在一个联通分量中…

解决tsvncache.exe引起电脑慢的问题

如果你觉得SVN的cache程序使得你的机器反应很慢的话,那可以参考这个方案.不过可能要改变你以前使用习惯.这个方案有两部分,第一部分是关闭SVN的cache监视;第二部分是显示文件差异时,使用SVN的“check for modifications”显示差异。 1.关闭SVN的cache监视。即关闭tsvncache.exe…

重构-改善既有代码的设计(1)

1&#xff0c;建立可靠地测试环境 2,寻找要重构的代码&#xff08;函数或者类&#xff09; 一般为比较长的函数&#xff0c;或者逻辑混乱的类 3&#xff0c;重构后的函数要修改局部变量&#xff0c;增加程序的可读行 4&#xff0c;函数应该放在它所使用的数据的所属对象内&…

[数据结构与算法] 单链表的简单demo

Vc6之下编译通过。。 1 /*******************************************************2 * : Project: 单链表数据结构演示3 * : File: link_list.h4 * : Function&#xff1a; 提供单链表操作的数据结构定义及方法声明5 * : History: 2013-10-01 22:37:056 * : Auth…

c++ 17介绍

作者&#xff1a;hearts zh链接&#xff1a;https://www.zhihu.com/question/32222337/answer/55238928来源&#xff1a;知乎著作权归作者所有。商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处。其实现在的proposal很多很多&#xff0c;不出意外也会有相当一部分…

HTML5本地存储不完全指南

历史 在HTML5本地存储之前&#xff0c;如果我们想在客户端保存持久化数据&#xff0c;有这么几个选择&#xff1a; HTTP cookie。HTTP cookie的缺点很明显&#xff0c;最多只能存储4KB的数据&#xff0c;每个HTTP请求都会被传送回服务器&#xff0c;明文传输&#xff08;除非你…