• 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的选择完全是个人偏好,只是明白了本质能有更好的选择。    
  • 相关阅读:
    AI:IPPR的数学表示-CNN稀疏结构进化(Mobile、xception、Shuffle、SE、Dilated、Deformable)
    基于视觉的机械手控制
    远程图形界面:VncServer与KDE桌面远程连接
    远程图形界面:使用putty+xmin远程登录ubuntu-kde
    CUDA 显存操作:CUDA支持的C++11
    C++11:using 的各种作用
    C++ 模板template和template
    Detectron:Pytorch-Caffe2-Detectron的一些跟进
    TF实战:(Mask R-CNN原理介绍与代码实现)-Chapter-8
    The type javax.servlet.http.HttpServletRequest cannot be resolved.
  • 原文地址:https://www.cnblogs.com/zhanghongqiang/p/4431189.html
Copyright © 2020-2023  润新知