zoukankan      html  css  js  c++  java
  • java web项目和java项目的区别(看清IDE本质)

    想必大家在使用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的选择完全是个人偏好,只是明白了本质能有更好的选择。    
  • 相关阅读:
    call()与apply()的作用与区别
    Tomcat8/9的catalina.out中文乱码问题解决
    怎样查看Jenkins的版本
    每日日报2020.8.18
    528. Random Pick with Weight
    875. Koko Eating Bananas
    721. Accounts Merge
    515. Find Largest Value in Each Tree Row
    286. Walls and Gates (Solution 1)
    408. Valid Word Abbreviation
  • 原文地址:https://www.cnblogs.com/zhanghongqiang/p/4431189.html
Copyright © 2011-2022 走看看