文档章节

java web项目和java项目的区别(看清IDE本质)

要么伟大要么死_zcv
 要么伟大要么死_zcv
发布于 2017/02/16 14:08
字数 949
阅读 170
收藏 0

想必大家在使用MyEclipse时对这两个概念不去深究。只知道是Java EE类的基本都是Web项目,而Java应用程序就是Java项目。而且很多人都愿意使用MyEclipse作为开发工具,且不说大家费尽心思去破解这个 东西,而且那么多插件在启动时的加载速度和内存占用,你甘心这么玩嘛?不甘心?继续阅读本文!无所谓,您可以去做点其他事情不要浪费时间在这里。当然本文 不去解释如何优化MyEclipse,相关说明大家更可以Google一下。 

Web项目是网页的编码,像jsp,servlet,struts这类的,但是java项目的话,是AWT,SWING这类的编码。最主要的区别是Web项目中的JAVA文件是tomcat服务器来触发的,但是java项目里的是Main()方法来开始的。还有一点是Web项目需要服务器。
    本人使用Classic Eclipse+所需插件(如WTP,SVN)+Tomcat6构建的开发环境,不仅插件按需安装,而且运行速度快,占用内存小。
    现在只是说说Java Project和Web Project,那么二者有区别么?回答:没有!都是Java语言的应用,只是应用场合不同罢了,那么他们的本质到底是什么?回答:编译后路径!虚拟机执 行的是class文件而不是java文件,那么我们不管是何种项目都是写的java文件,怎么就不一样了呢?分成java和web两种了呢?
    从.classpath文件入手来看,这个文件在每个项目目录下都是存在的,很少有人打开看吧,那么我们就来一起看吧。这是一个XML文件,使用文本编辑器打开即可。
这里展示一个web项目的.classpath,当然高手一眼就可以看出其作用了
Xml代码

   1. <?xml version="1.0" encoding="UTF-8"?> 
   2. <classpath> 
   3.     <classpathentry kind="src" path="src"/> 
   4.     <classpathentry kind="src" path="resources"/> 
   5.     <classpathentry kind="src" path="test"/> 
   6.     <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> 
   7.     <classpathentry kind="lib" path="lib/servlet-api.jar"/> 
   8.     <classpathentry kind="lib" path="webapp/WEB-INF/lib/struts2-core-2.1.8.1.jar"/> 
   9.      …… 
  10.     <classpathentry kind="output" path="webapp/WEB-INF/classes"/> 
  11. </classpath> 

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="resources"/>
<classpathentry kind="src" path="test"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="lib/servlet-api.jar"/>
<classpathentry kind="lib" path="webapp/WEB-INF/lib/struts2-core-2.1.8.1.jar"/>
     ……
<classpathentry kind="output" path="webapp/WEB-INF/classes"/>
</classpath>

    XML文档包含一个根元素,就是classpath,类路径,那么这里面包含了什么信息呢?子元素是classpathentry,kind属性区别了种 类信息,src源码,con你看看后面的path就知道是JRE容器的信息。lib是项目依赖的第三方类库,output是src编译后的位置。
    既然是web项目,那么就是WEB-INF/classes目录,可能用MyEclipse的同学会说他们那里是WebRoot或者是WebContext而不是webapp,有区别么?回答:完全没有!
    既然看到了编译路径的本来面目后,还区分什么java项目和web项目么?回答:不区分!普通的java 项目你这样写就行了:<classpathentry kind="output" path="bin"/>,看看Eclipse是不是这样生成的?这个问题解决了吧。
    再说说webapp目录命名的问题,这个无所谓啊,web项目是要发布到服务器上的对吧,那么服务器读取的是类文件和页面文件吧,它不管源文件,它也无法去理解源文件。那么webapp目录的命名有何关系呢?只要让服务器找到不就行了。
    希望对学习者有所帮助。当然IDE的选择完全是个人偏好,只是明白了本质能有更好的选择。

本文转载自:http://blog.163.com/magicc_love/blog/static/185853662201262621621311/

共有 人打赏支持
要么伟大要么死_zcv
粉丝 0
博文 25
码字总数 2862
作品 0
海淀
私信 提问
eclipse-SDK-3.7-win32;eclipse-java-indigo-win32...

eclipse-SDK-3.7-win32;eclipse-java-indigo-win32;eclipse-jee-indigo-win32 三个都是用于win32,即windows系统的32位机器的,都是在基本eclipse平台上,区别在于安装的插件的多少,集中起...

星痕2018
2012/03/04
0
0
REST 风格的 Web 服务入门

要学习本教程,您需要具备以下软件和资源。 软件或资源 要求的版本 NetBeans IDE Java EE 下载包 Java 开发工具包 (JDK) 版本 6 或 7 符合 Java EE 规范的应用服务器 Oracle WebLogic Server...

颜建海
2014/03/25
0
0
Java 10大优点—Part3—开源

感谢大家对这个系列文章的关注和意见,你们的观点也印证了我的关于Java很好很强大的结论。这里是第三篇,我将要谈谈关于开源的那些事。 欢迎大家向我分享你们的经验和发现,我非常乐于了解大...

foxlee
2013/12/09
146
0
Oracle 宣布更多 Java 9 新特性

随着Oracle确认了其余的4个Java 9特性,下一代Java的计划开始变得更清晰了,Oracle已经公布了第二套Java 9特性。自从Oracle在今年早些时候宣布了3个新的API和模块化源码后,这是Oracle首次推...

oschina
2014/12/05
21.6K
65
JetBrains 开源其 Kotlin 语言,基于 JVM 的新编程语言

近日,JetBrains宣布将其Kotlin编程语言开源,这是一个针对Java和JavaScript平台的现代编程语言,该语言的设计目的是成为Java语言的替代品。 Kotlin 是JetBrains在2010年推出的基于 JVM 的新...

虫虫
2012/02/16
2.3K
11

没有更多内容

加载失败,请刷新页面

加载更多

Spring AOP 实现方法日志记录以及执行时间打印

注意:proxy-target-class="true" 这是决定是走jdk代理还是spring cglib代理的。高版本的(貌似)可以忽略。 1.在spring 相关配置文件中假如如下配置: <!-- 日志时间打印 --> <aop:config ...

轻量级赤影
13分钟前
1
0
使用应用程序(Java/Python)访问MaxCompute Lightning进行数据开发

MaxCompute Lightning是MaxCompute产品的交互式查询服务,支持以PostgreSQL协议及语法连接访问Maxcompute项目,让您使用熟悉的工具以标准 SQL查询分析MaxCompute项目中的数据,快速获取查询结...

阿里云官方博客
14分钟前
1
0
SVN chechout failed: xxx is not valid as filename in directory svn检出错误

SVN chechout failed: xxx is not valid as filename in directory svn检出错误 2018年05月29日 09:49:59 SieSteven 阅读数:820 版权声明:转载请注明出处,最好发邮件告知。谢谢 https://...

linjin200
15分钟前
1
0
QGIS for Android 开发:五、qgis for android demo编写

https://github.com/lutraconsulting/qgis-quick-demo-apphttps://github.com/yinyinnie/breakpad-for-androidhttps://github.com/google/breakpad.githttps://github.com/zhengtianzu......

洋碱
18分钟前
1
0
在DataWorks中实现指定UDF只能被指定账户访问

背景 之前写过一篇文章是关于“DataWorks和MaxCompute内部权限体系的区别”有兴趣的朋友可以点击阅读查看详情。但是还是有些同学会问,我如何在DataWorks中实现我的具体某个Resource,Table...

zhaowei121
20分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部