Java项目和Web项目的区别

  1. Java Web项目是基于Java EE类的;而Java项目是基于Java应用程序的。
  2. Java项目主要面向桌面程序的应用,主要是awt、swing这类的编码,不包括JSP等前台页面的代码,大部分是CS架构的工程和一些jar包。
    JavaWeb项目是BS架构的系统,是网页的编码,像Jsp、Servlet、Struts这类的, JavaWeb项目部署到服务器上,任何用户都可以通过浏览器来访问。
  3. JavaWeb项目中的Java文件是tomcat服务器来触发的,脱离了web服务器就无法启动。而Java项目是由main()方法来开始的,直接依赖JVM就能被编译执行。
  4. Java Web项目需要服务器;而Java项目不需要服务器。
  5. 在eclipse中Java Web项目可以转换为Java项目,进而可以转回到Java Web项目。
  6. Java项目多数应用请求响应通过按钮的事件驱动来发起(Web项目也有)。JavaWeb项目衍生了很多框架应用。多数请求响应应用超链接URL来发起(Java项目也有)。
  7. 如果说Java项目代码多半在本地,Web项目的代码基本是在远程服务端。比如要建个网站,需要发布到服务器时,应为JavaWeb项目。当做分布式系统时,也就是做的只是一个服务,对外发布也只是一个服务的时候,需要建立Web Services Project(不理解可以先研究下webservices)。当仅仅是需要JDK来运行一些本地代码的时候,只需要建Java Project就可以了。

Java Project和Web Project其实都是Java语言的应用,只是应用场合不同罢了,那么本质到底是什么?编译后路径!虚拟机执行的是class文件而不是Java文件,然而不论哪种项目都是写的Java文件,怎么就分成Java项目和JavaWeb项目了呢?
.classpath文件,这个文件在每个项目目录下都是存在的。这里展示一个web项目的.classpath文件,xml代码:

  
  
     
     
     
     
     
     
    ……  
     
  

xml文档包含一个根元素,就是classpath类路径。子元素是classpathentry,kind属性区别了种类信息,src源码,uu看后面的path就知道是JRE容器的信息。lib是项目依赖的第三方类库,output是src编译后的位置。
既然是web项目,那么就是WEB-INF/classes目录。MyEclipse的是WebRoot或者是WebContext而不是webapp,这其实没有区别。
看懂了编译路径的本质,就不用区分Java项目和web项目了。普通的Java 项目这样写就行了:,看看Eclipse是不是这样生成的?问题迎刃而解。
Web项目是要发布到服务器上的,服务器读取的是类文件和页面文件,它不管源文件,它也无法去理解源文件。所以webapp目录的命名如何没有关系,只要让服务器找到就行了。

你可能感兴趣的:(Java项目和Web项目的区别)