JavaSE、JavaEE、JavaWeb 三大工程目录详解
本博主将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识,有兴趣的小伙伴可以关注博主!也许一个人独行,可以走的很快,但是一群人结伴而行,才能走的更远!
JavaSE、JavaEE 和 JavaWeb 是 Java 开发中的三个重要框架,它们都是为了支持 Java 应用程序的开发而设计的。
JavaSE(Java Standard Edition):是 Java标准版,它主要是为了解决嵌入式系统和移动应用程序开发而设计的。JavaSE 的核心技术包括 Java 虚拟机、Java 类库、Java平台等。
JavaEE(Java Enterprise Edition):是 Java 企业版,它主要是为了解决企业级应用程序开发而设计的。JavaEE 采用了面向对象的思想,提供了丰富的组件和工具,使得开发人员可以更加高效地开发企业级应用程序。JavaEE 的核心技术包括 Web 服务、消息驱动架构、Java 安全、Java EE 规范等。
JavaWeb(Java Web Edition):是 Java Web 版,它主要是为了支持 Web 应用程序开发而设计的。JavaWeb 的核心技术包括 Java Servlet、Java Server Pages(JSP)、JavaBean、Struts、Spring 等。
总的来说,JavaSE、JavaEE 和 JavaWeb 都是 Java 开发中的重要框架,它们为开发人员提供了丰富的工具和技术支持,使得开发人员可以更加高效地开发各种类型的应用程序。对于开发者来说,了解这三个框架的基本概念和特点,能够更好地掌握 Java 开发技术,提高开发效率。
主目录,包含应用程序的主类和其他必要的类。这些类是应用程序的核心,它们负责处理用户请求并返回响应。
测试目录,包含应用程序的测试类。测试类用于验证应用程序的正确性,并帮助发现和修复错误。
资源目录,包含应用程序所需的资源,如图片、样式表、脚本等。这些资源可以用于应用程序的 UI 显示或作为响应返回给客户端。
编译后的字节码文件,它们被打包到一个名为 classes 的目录中。
包含资源文件,如图片、样式表、脚本等。这些资源文件被打包到 classes 目录中,以便 JavaWEB 应用程序可以使用它们。
包含应用程序的 JAR 文件。JAR 文件包含应用程序的类和资源文件,它们被打包到一个压缩文件中,以便应用程序可以运行时加载它们。
编译后的测试字节码文件,它们被打包到一个名为 testclasses 的目录中。
包含用于测试的资源文件,如图片、样式表、脚本等。这些资源文件被打包到 testclasses 目录中,以便应用程序可以在测试过程中使用它们。
包含应用程序的元数据,如包列表、应用程序描述符等。
包含应用程序的 Web 相关元数据,如 Web 应用程序描述符、过滤器、监听器等。
JSP 文件,用于显示 Web 页面。
HTML 文件,用于显示 Web 页面。
这些目录和文件组成了一个 JavaEE 应用程序的核心,它们一起构成了应用程序的各个方面,包括业务逻辑、UI 显示、输入验证、输出缓存等。同时,这些目录和文件也可以使用 JavaEE 的规范和标准来组织和构建应用程序,如 EJB、Servlet、JSP、JSTL 等。
- 文件系统:三个工程都使用 Java 文件系统,即 src/、doc/、res/、lib/等目录。
- 类库目录:三个工程都需要使用类库目录,如 target/classes/、src/java/等。
- 示例文件:三个工程都可能包含示例文件,如 example.txt、example.java 等。
JavaEE 工程通常包含一个或多个包,每个包代表一个应用程序组件,如 EJB、Servlet、JSP 等。JavaEE 工程的 src/目录通常包含一个或多个包,每个包代表一个 Java 类。
JavaWeb 工程通常包含一个或多个包,每个包代表一个 Web 组件,如 Servlet、JSP、Filter、Listener 等。JavaWeb 工程的 src/目录通常包含一个或多个包,每个包代表一个 Java 类。
JavaSE 工程通常只包含一个 src/目录,该目录包含所有的 Java 源代码。
总之,JavaSE 工程、JavaEE 工程、JavaWeb 工程的目录结构有所不同,因为它们代表不同的应用程序类型。JavaSE 工程通常用于开发桌面应用程序、JavaEE 工程通常用于开发企业级应用程序、JavaWeb 工程通常用于开发 Web 应用程序。
我正在使用active_admin,我在Rails3应用程序的应用程序中有一个目录管理,其中包含模型和页面的声明。时不时地我也有一个类,当那个类有一个常量时,就像这样:classFooBAR="bar"end然后,我在每个必须在我的Rails应用程序中重新加载一些代码的请求中收到此警告:/Users/pupeno/helloworld/app/admin/billing.rb:12:warning:alreadyinitializedconstantBAR知道发生了什么以及如何避免这些警告吗? 最佳答案 在纯Ruby中:classA
是否可以在应用程序中包含的gem代码中知道应用程序的Rails文件系统根目录?这是gem来源的示例:moduleMyGemdefself.included(base)putsRails.root#returnnilendendActionController::Base.send:include,MyGem谢谢,抱歉我的英语不好 最佳答案 我发现解决类似问题的解决方案是使用railtie初始化程序包含我的模块。所以,在你的/lib/mygem/railtie.rbmoduleMyGemclassRailtie使用此代码,您的模块将在
在我让另一个人重做我的前端UI之前,我的Rails应用程序运行平稳。我已经尝试解决此错误3天了。这是错误:Nosuchfileordirectory-identifyExtractedsource(aroundline#59):575859606162@post=Post.find(params[:id])authorize@postif@post.update_attributes(post_params)flash[:notice]="Postwasupdated."redirect_to[@topic,@post]else{"utf8"=>"✓","_method"=>"patc
我正在尝试以一种更类似于普通RubyGem结构的方式构建我的Sinatra应用程序。我有以下文件树:.├──app.rb├──config.ru├──Gemfile├──Gemfile.lock├──helpers│ ├──dbconfig.rb│ ├──functions.rb│ └──init.rb├──hidden│ └──Rakefile├──lib│ ├──admin.rb│ ├──api.rb│ ├──indexer.rb│ ├──init.rb│ └──magnet.rb├──models│ ├──init.rb│ ├──invite.rb│ ├─
我想编写一个ruby脚本来递归复制目录结构,但排除某些文件类型。因此,给定以下目录结构:folder1folder2file1.txtfile2.txtfile3.csfile4.htmlfolder2folder3file4.dll我想复制这个结构,但不包含.txt和.cs文件。因此,生成的目录结构应如下所示:folder1folder2file4.htmlfolder2folder3file4.dll 最佳答案 您可以使用查找模块。这是一个代码片段:require"find"ignored_extensions=[".cs"
我正在使用Rails3.2.2并希望递归加载某个目录中的所有代码。例如:[Railsroot]/lib/my_lib/my_lib.rb[Railsroot]/lib/my_lib/subdir/support_file_00.rb[Railsroot]/lib/my_lib/subdir/support_file_01.rb...基于谷歌搜索,我试过:config.autoload_paths+=["#{Rails.root.to_s}/lib/my_lib/**"]config.autoload_paths+=["#{Rails.root.to_s}/lib/my_lib/**/"
我是Ruby的新手,我正在尝试以如下方式打开文件:#!/usr/bin/envrubydata_file='~/path/to/file.txt'file=File.open(data_file,'r')但是我得到“没有这样的文件或目录”(该文件确实存在于该目录中)。如果我将该文件路径作为命令行参数,它会起作用,例如:#!/usr/bin/envrubyfile=File.open(ARGV[0],'r')然后从命令行运行,如:rubyscript.cgi~/path/to/file.txt关于如何让它以第一种方式工作的任何想法? 最佳答案
这是我在ChefRecipe中的一blockRuby:#ifdatadirdoesn'texist,moveoverthedefaultoneif!File.exist?("/vol/postgres/data")execute"mv/var/lib/postgresql/9.1/main/vol/postgres/data"end结果是:Executingmv/var/lib/postgresql/9.1/main/vol/postgres/datamv:inter-devicemovefailed:`/var/lib/postgresql/9.1/main'to`/vol/post
我对RoR有点陌生,我想要一个结构化的目录,因为项目可能会变大我不想让所有的Controller直接进入controllers目录。我想要一些东西app/controllers/application_controller.rbgroupa/athing_controller.rbathing2_controller.rbgroupb/bthing_controller.rb然而,当我在routes.rb中放置以下内容时:get'athing',:to=>"groupa/athing#index"我在localhost:3000/athing/上收到以下错误:superclassmis
一、什么是MQTT协议MessageQueuingTelemetryTransport:消息队列遥测传输协议。是一种基于客户端-服务端的发布/订阅模式。与HTTP一样,基于TCP/IP协议之上的通讯协议,提供有序、无损、双向连接,由IBM(蓝色巨人)发布。原理:(1)MQTT协议身份和消息格式有三种身份:发布者(Publish)、代理(Broker)(服务器)、订阅者(Subscribe)。其中,消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。MQTT传输的消息分为:主题(Topic)和负载(payload)两部分Topic,可以理解为消息的类型,订阅者订阅(Su