搭建Myeclipse+struts+webloigc开发环境_第1页
搭建Myeclipse+struts+webloigc开发环境_第2页
搭建Myeclipse+struts+webloigc开发环境_第3页
搭建Myeclipse+struts+webloigc开发环境_第4页
搭建Myeclipse+struts+webloigc开发环境_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1:MyEclipse:forSpringVersion:8.6.0(默认JDK6.0:安装目录:D:\ProgramFiles\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_13)2:Weblogic:(WebLogicServer9.0/9.1/9.2/10支持JDK5.0,J2EE1.4J2EE1.4使用的是Servlet2.4规范)3:Oracle:9.2.04:Struts:1.2.8(Struts要求Servlet容器实现Servlet规范2.2或更高版本JavaServerPages(JSP)规范1.1或更高版,/1.2.9/userGuide/preface.html#servlets,在该官方说明中,涉及到servlet规范的提议参考TheServlet2.2and2.3Specifications

,说明1.2.8版本的struts的servlet的规格是2.2及以上2.3为止,Servlet

API

2.3成为J2EE

1.3的核心API)Struts1.2框架下开发的web应用部署到Weblogic9.2中(其servlet规格也是2.4规范),那Struts1.2的实现依赖的servlet规范是多少,怎么看查看weblogic和oracle的版本信息查看weblogic的版本信息,可以在bea\logs目录下的log.txt中查到版本信息,如2007-5-2921:15:14--install"WebLogicPlatform"atD:\bea\weblogic81release[Added]查看oracle的版本信息有几个方法(1)用客户端连接到数据库,执行select*fromv$instance查看version项(2)select*fromproduct_component_version(3)或查询V$VERSION查看组件级信息0.0MyEclipse中查看j2ee基础库文件中的servlet的规格可以看出j2ee1.4规范的servlet的规格是2.4可以看出j2ee1.4规范的jsp的规格是2.0例子(对软件规范和规格的理解,规范同导致api函数不同,调用方式会不同):JavaServlet规范v2.2在本规范中,将多处参考如下JavaAPI规范:

Java2PlatformEnterpriseEditionv1.2(J2EE)

JavaServerPagesv1.1(JSP)

JavaNamingandDirecotryInterface(JNDI)ServletAPI和Servlet应用的开发实现中,还参考和遵循了如下互联网规范:

RFC1945HypertextTransferProtocol(HTTP/1.0)

RFC2045MIMEPartOne:FormatofInternetmessageBodies

RFC2046MIMEPartTwo:MediaTypes

RFC2047MIMEPartThree:MessageHeaderExtensionsfornon-ASCIItext

RFC2048MIMEPartFour:RegistrationProcedures

RFC2049MIMEPartFive:ConformanceCriteriaandExamples

RFC2109HTTPStateManagementMechanism

RFC2145UseandInterpretationofHTTPVersionNumbers

RFC2324HypertextCoffeePotControlProtocol(HTCPCP/1.0)

RFC2616HypertextTransferProtocol(HTTP/1.1)

RFC2617HTTPAuthentication:BasicandDigestAuthenticationMyEclipse集成开发应用时,必须保证相关组件和模块的规格相互适应MyEclipse和Weblogic的基本的JDK的版本库必须一致,比如都是1.5或者1.6,小版本无影响比如1.5004或1.5012都为1.5版本。Struts的版本中支持jsp和servlet规范必须和引入的J2EE的版本一致(如jsp2.0,servlet2.3)Struts一般是针对一定版本的jsp和servlet规范实现的,由此对应运行该StrutsWeb应用的容器也要支持该jsp和servlet的版本规范(一般高版本规范的api会兼容低版本,这样依赖低版本规范的应用,如果使用高版本的规范的api应该不会有问题,但是高版本的规范api会出现不支持低版本中的某些api接口(高版裁剪了,比低版范围缩小了),这样某个基础库升版后导致整体应该无法编译通过(或平台迁移出问题),依赖高版的应用,如果使用低版的api规范,出问题的概论会更大,低版一般都会缺少高版中的某些功能)Myeclipse基础设置(0.0-0.x)0.0:恢复Myeclipse布局恢复默认值操作(1)右键点击MyEclipse图标弹出菜单(2)菜单中选择resetJ2EEstrutsServletJSPB/S彼此之间是什么关系粗略的说:B/S>J2EE>Servlet>JSP>strutsB/S指浏览器/服务器与c/s(客户端/服务器)相对应,就是用网页浏览器做客户端运行的程序。J2EE是一种B/S设计平台。Servlet、JSP是J2EE的两种技术,而JSP又是为简化Servlet开发而产生的技术,运行时需要服务器转为Servlet运行。struts利用了Servlet、JSP开发的一种设计框架,为了实现MVC。CGI>ASP\JSP\PHPCGI全称是“公共网关接口”(CommonGatewayInterface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上。CGI可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。对初学者来说,最好选用易于归档和能有效表示大量数据结构的语言,例如UNIX环境中:·Perl(PracticalExtractionandReportLanguage)·BourneShell或者Tcl(ToolCommandLanguage)·PHP(HypertextPreprocessor))由于C语言有较强的平台无关性,所以也是编写CGI程序的首选。Windows环境中:·C和C++由于Internet上大部分服务器使用的是UNIX操作系统,且几乎任一UNIX操作系统中都有BourneShell,因而后面讲述的例子中大部分是用BourneShell编写的。最终Perl由于其跨操作系统、易于修改的特性成为了CGI的主流编写语言,以至于一般的“cgi程序”就是Perl程序。因此其余三种是实现的语言(或技术)0.0什么是servletServlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。Servlet是位于Web服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。Servlet的api也有版本问题,1:Servlet非命令行启动的,运行于Web服务器内部的java服务端程序2:Servlet必须由Web服务器进行加载和管理3:管理Servlet的Web容器必须有支持Servlet的java虚拟机JavaServlet与Applet的比较相似之处:*它们不是独立的应用程序,没有main()方法。*它们不是由用户或程序员调用,而是由另外一个应用程序(容器)调用。*它们都有一个生存周期,包含init()和destroy()方法。不同之处:*Applet具有很好的图形界面(AWT),与浏览器一起,在客户端运行。*Servlet则没有图形界面,运行在服务器端。0.0JavaServlet与Web容器之间的关系Java是一种动态加载和运行的语言。也就是说当应用程序持有一个类的地址(CLASSPATH)和名称(包名和类名)的情况下,可以在程序运行期间任何时候加载这个类,并创建和使用该类的对象。Servlet就是基于这个机制与Web容器融合在一起的。目前已知的所有支持JavaServlet的Web容器都是采用Java开发的。当Web容器接收到来自客户端的请求信息之后,会根据URL中的Web元件地址信息到Servlet队列中查找对应的Servlet对象,如果找到则直接使用,如果没有找到则加载对应的类,并创建对象。也就是说,Servlet对象是在第一次被使用的时候才创建的,并且一旦创建就会被反复使用,不再创建新的对象。所有创建出的Servlet对象会在Web服务器停止运行的时候统一进行垃圾回收。为了解决客户端请求地址与JavaServlet之间对应关系问题,Web容器需要一个用来描述这种对应关系的文件,一般是web.xml文件。如果一个Web应用程序中存在很多个Servlet,那么web.xml会变得非常庞大。在Servlet3.0规范推出之后,允许在Servlet代码中使用声明式语法来代替web.xml中的描述信息,这才让web.xml瘦身下来。下图是这个过程的一个示意图。在这个图中,我们仅仅是概要的,采用以比较容易理解的方式描述了Web容器与Servlet之间的关系,以及当接受到请求之后的处理流程。在实际的Web容器中,会比这要复杂很多。0.0获取servlet包(注意不同规范的不同版本)jdk是一般的通用类库,是其它程序的基础。servlet是j2ee的一项具体内容,如果想找到这个包,可以去下载sun的j2eesdk,里面有,也可以进行单独的下载。到tomcat,webloic等web服务器中找。Java的web容器运行需要servlet包。该包有统一规范和不同的实现版本(规格)。0.0J2sesdk和j2EEsdk的区别 j2se是基础类库,j2ee是框架,企业做web应用时通常要考虑到很多问题,比如效能问题(POOL的应用),扩展性,分布式相关交易,重用,事务等等,为了使企业的架构更加完美,更加稳定,效率更高,很多大的开发团队都会想办法解决上述问题,SUN以及其他的分布式领导厂商意识到不久的将来每个开发团队都会重复创造出自己专用的解决方案,所以才衍生出J2EE架构,为了是使这些开发团队能够快速的实现上述解决方案,而把主要的精力放在业务流程上。j2se:

Java

2

Standard

Edition是java标准版

se是标准版平台j2ee:

Java

2

Enterprise

Edition是java企业版

,它除了包含标准版(se)中的任何组件,还增加了附加库,j2ee是java的企业版本,它是标准版本之上的扩展。采用包括应用服务器在内的三层架构。主要用于电子商务和企业与企业电子商务互连。有jsp,servlet,ejb等规范SDK(SoftwareDevelopmentKit,即软件开发工具包)一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。0.1:JDK,JRE,JVM区别与联系很多朋友可能跟我一样,已经使用JAVA开发很久了,可是对JDK,JRE,JVM这三者的联系与区别,一直都是模模糊糊的。今天特写此文,来整理下三者的关系。

JDK:JavaDevelopmentToolKit(Java开发工具包)。JDK是整个JAVA的核心,包括了Java运行环境(JavaRuntimeEnvirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库(即JavaAPI包括rt.jar)。最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了属于自己的JDK,例如国外IBM公司开发了属于自己的JDK,国内淘宝也开发了属于自己的JDK,各个组织开发自己的JDK都是为了在某些方面得到一些提高,以适应自己的需求,比如IBM的JDK据说运行效率就比SUN的JDK高的多。但不管怎么说,我们还是需要先把基础的SunJDK掌握好。JDK有以下三种版本:J2SE,standardedition,标准版,是我们通常用的一个版本J2EE,enterpsiseedtion,企业版,使用这种JDK开发J2EE应用程序J2ME,microedtion,主要用于移动设备、嵌入式设备上的java应用程序。我们常常用JDK来代指JavaAPI,JavaAPI是Java的应用程序接口,其实就是前辈们写好的一些javaClass,包括一些重要的语言结构以及基本图形,网络和文件I/O等等,我们在自己的程序中,调用前辈们写好的这些Class,来作为我们自己开发的一个基础。当然,现在已经有越来越多的性能更好或者功能更强大的第三方类库供我们使用。

JRE:Java

Runtime

Enviromental(java运行时环境)。也就是我们说的JAVA平台,所有的Java程序都要在JRE下才能运行。包括JVM和JAVA核心类库和支持文件。与JDK相比,它不包含开发工具——编译器、调试器和其它工具。JVM:JavaVirtualMechinal(JAVA虚拟机)。JVM是JRE的一部分,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM的主要工作是解释自己的指令集(即字节码)并映射到本地的CPU的指令集或OS的系统调用。Java语言是跨平台运行的,其实就是不同的操作系统,使用不同的JVM映射规则,让其与操作系统无关,完成了跨平台性。JVM对上层的Java源文件是不关心的,它关注的只是由源文件生成的类文件(classfile)。类文件的组成包括JVM指令集,符号表以及一些补助信息。下图很好的表面了JDK,JRE,JVM三者间的关系:

我们开发的实际情况是:我们利用JDK(调用JAVAAPI)开发了属于我们自己的JAVA程序后,通过JDK中的编译程序(javac)将我们的文本java文件编译成JAVA字节码,在JRE上运行这些JAVA字节码,JVM解析这些字节码,映射到CPU指令集或OS的系统调用。JDK(javadevelopkit,java开发套件),JRE(javaruntimeenvironment,java运行时环境),JVM(javavirtualmachine,java虚拟机)

JDK

++

|jre

++

|jvm

|

jre只是jdk的一个部分,我们只要拥有了一份jdk就可以进行java程序开发了,而顾名思义,jre是java运行的时候所依赖的平台,jvm则更只是jre的一个部分,jre除了虚拟机外还提供了众多链接库,这些库会被jvm在运行时调用。我们会发现java_home/下有一个bin文件夹和一个jre文件夹,而jre文件夹下也有一个bin文件夹,它们一样吗?显然不一样。java_home/bin中的工具是sun公司提供给我们一些工具,如java.exe,javac.exe,而jre/bin下的工具是运行时所需的,于是我们可以发现java_home/bin下有一个javac.exe,而jre/bin下肯定没有javac.exe,这是很容易解释的。

奇怪的是,sun公司给我们提供了两套jre,稍留意一下我们就会发现在装完jdk,还可以选择装一个jre,这个jre是被默认装到C:\ProgramFiles\Java下的。sun提供两套jre是有道理的,如果我们只是想运行java程序,那么去官网下一个jre就行了,而无需拿来一个jdk,如果是要开发java程序那就需要一个jdk了."jdk里面的工具几乎都是用java写的,所以jdk本身就是java应用程序,因此要使用jdk附的工具来开发java程序也必须要自行附一套jre才行,这就是java_home\jre存在的原因,而位于ProgramFile\jre的那套jre就是拿来执行我们自己写的java应用程序的。不过,两套中任何一套jre都可以拿来执行我们所写的java应用程序,可是jdk内附的开发工具在预设开发工具使用包装器(.exe)来启动的情况下,都拿自己支选用java_home\jre".(《Java深度历险》)

因此,现在可以明白设path和classpath的作用了:path是为jdk提供的那些工具设的,如java.exe,javac.exe,而classpath是为java程序所用到的库文件所设的,于是path设成:java_home\bin;而classpath设为:java_home\jre\lib\rt.jar,如果我们开发的一个应用中用到了非j2se提供的库文件,则需将这些文件加到classpath中,比如说利用javamail开发一个邮件应用,就应该把mail.jar等文件加到classpath中:java_home\jre\lib\ext\mail.jar;.

如果一台PC上装了几个jre,那么就要注意了,有时很容易产生问题,很可能我们用来编译java程序的javac.exe所相关的jre与运行程序时所用的jre不是一个版本,这可能会产生版本冲突,这可以通过设定path变量来解决。

最后应用中的第三方文件应该加到java_home\jre\lib\ext下,就像刚才那样,与java相关的安全设定档都放置java_home\jre\lib\security。最后扩展一点,与java相关的很多工具的path设定原则都与上述差不多,比如说想安装一个Ant,应该在path中这样设:F:\\Ant\apache-ant-1.6.5\bin;看看bin下有什么就明白这样做是为了指定命令工具ant所在的目录。0.2:MyEclipse中如何设置

jdk(编译)

jre

(运行)环境MyEclipse设置JDK和JRE具体的应用版本其实很简单,分为三种状况:(1)设置默认使用的JDK和JRE环境。具体步骤:菜单window->preferences->java->InstalledJRES。点中了,右边的窗口点ADD按钮,记住选择添加安装了Java目录下的JDK目录,而不是JRE目录。添加后,在列表中选择你要使用的那个jdk版本即可。然后Compiler项下,选择编译的jdk级别就可以了。1:InstalledJRES通过add等操作来新增变更不同版本JDK2:JREtype:StandardVM3:JREhome择添加安装了Java目录下的JDK目录,而不是JRE目录指出JREhome后会自动添加JREnameDefaultVMarguments参数不用指定4:在Compiler项下指定编译的jdk级别(2)针对项目的环境设置。右键项目菜单properties->JavaCompiler,选择了以后,选中Enableprojectspecificsettings,去掉Usecompliancefromexecutionenvironment前面的那个选择框,就可以自己选择使用的jdk版本了。(3)应用服务器的环境设置。菜单window->preferences->MyEclipse->Servers。选择你要使用的应用服务器名称,点进去会看到JDK的菜单,选中后就可以在右边窗口的下拉选择框中选择自己需要使用的jdk版本了。0.2Webloigcjdk版本问题(1)WebLogic不允许用户修改或者更换自身绑定的JDK,,各个版本的WebLogic,不能任意替换JDK版本,例如:WLS8配合JDK1.5,那是绝对不行(2)查看/修改WebLogicJDK版本(可行?!)一:修改WEBLOGIC的JDK版本1.在控制台改:从http://localhost:7001/console进去控制台,点击server配置server的属性,其实有一项就是修改JDK的.如:在ConfigureServerStartModeandJDK界面中保持默认,即JDK选择的是“SunSDK1.5.0_04C:“BEA“jdk150_04”,注意这里若选择“OtherJDK”配置比SDK1.5.0_04更高的版本,服务器启动时将会出现异常,所以最好保持默认2.在配置文件中直接改:如:在C:\bea\wlserver_10.0\server\bin\startWLS.cmd中改成set

JAVA_HOME=C:\jdk1.5二:修改WEBLOGIC的监听端口:

1.在控制台改:从http://localhost:7001/console进去控制台,点击server配置server的属性,有一项为监听端口设置0.3MyEclipse如何更改一个web项目JDK版本如刚开始建的项目是1.4的后来想改成5.0的,前提是你已经在Windows->preferences->MyEclipseEnterprisework->servers->tomcat->tomcat*.x(你当前tomcat的版本)->jdk下添加了jdk根目录要是没添加可以点击右侧的add进行添加。要是上面的你都已经设置完了,可以如下:项目上右键-》buildpath->configerbuildpath->滚动条拉到最底下有jresystemLibrary双击它。点alternatejre选择要选用的jdk版本1:添加struts支持(1)右键点击web工程项目名称弹出菜单(2)菜单中选择MyEclipse弹出菜单(3)菜单中选择AddStrutsCapabilities2:Weblogic配置启动Eclipse,选择“Window->Preferences”菜单.打开首选项对话框。展开MyEclipse下的Weblogic节点.点击WebLogic节点,选择WebLogic9.x选中右边的Enable单选按钮,启用WebLogic服务器。配置①BEAhomedirectory:D:\BEA(假定WebLogic安装在D:盘的BEA目录中)②WebLogicinstallationdirectory:D:盘的BEA目录下的WebLogic92目录③Adminusername:weglogic(来自WebLogic中的配置)④Adminpassword:weblgoic(来自WebLogic中的配置)⑤Executiondomainroot:D:盘的bea\user_projects\domains\dmHnpost(该目录是安装Weblogic时指定创建的,用MyEclipse发布新的工程文件时将发布到该目录的autodeploy目录下,配置MyEclipse指定该值时必须和Weblogic安装时定义的保持一致,否则可能会导致发布的工程文件和配置模块文件不一致,不匹配导致应用无法正常启动。若能手工配置成一置和完备也可以)补充说明:该目录配置后,在MyEclipse操作快捷栏上通过run/stop/restartMyEclipseservers首次启动配置好的WebLogic服务器时,会自动创建服务的启动和关闭脚本,并且创建相关工程目录。此目录下放置用户创建的web工程创建的目录和脚本如下图所示:自动生成的操作在MyEclipse的console标签页中进行:出现如下提示:D:\bea\user_projects\domains\dmHnpost\config\config.xmlnotfoundNoconfig.xmlwasfound.Wouldyouliketheservertocreateadefaultconfigurationandboot?(y/n):选择y进行创建⑥Executionservername:AdminServer⑦Securitypolicyfile:C:“BEA“WebLogic92“server“lib“weblogic.policy⑧JAASloginconfigurationfile:(Null)3:配置oracleDBbrowser(1):Window->ShowView->Other(2):MyEclipseDatabase->DBBrowser(3):上一步Ok选择后会在右边出现DBBrowser标签页(4):鼠标右键点击MyEclipseDerby->new(5):Drivertemplate选择驱动模式(OCIdriver需要安装oracle客户端,对应ojdbc驱动(效率高),Thindriver需要class12.jar(相对效率低一点))(6):DriverName按需求取名字4:配置WebLogicOracle数据库连结池1、登陆Weblogic的控制台,在树型结构目录中,找到ServicesJDBCDataSources。这里就是对Web服务配置JDBC连接的地方。2、打开lock&edit锁,点击new按钮添加一个DataSources。3、来到创建页面后,会要求输入以下选项:Name://这里填写JDBC连接的名字,可以随意添写。JNDIName://这里填写JNDI调用的名字,也可以随便填,但//请记住它,后面调用时,就是用这个名字。DatabaseType://这里选择一个数据库的类型,我们是连接Mysql。DatabaseDriver://这里选择数据库驱动的类型,选择//com.mysql.jdbc.Driver这个标准驱动,其他的//不要选。然后点击next。4、来到了事务选项配置页,这里是对事务管理的一些配置,什么两阶段提交啊,log啊。用默认的配置就好了,特殊需要可以再改的。next。5、来到了连接属性配置页,这里对要连接的数据库进行配置,会要求输入以下选项:DatabaseName://这里要填入数据库的名字,很熟悉啦,test。HostName://主机名.填localhost。Port://他已经写好啦,3306。DatabaseUserName://

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论