java project是java工程,不包括JSP等前台页面的代码 大部分是CS结构的工程和一些jar包

web project是web工程,是BS结构的系统 web project部署到服务器上 
任何用户都可以通过浏览器来访问 就想你访问的百度这个网站一样
1、当你是web应用时,比如说要建个网站,需要发布到服务器时,应该要建Web Project 
2、当你是做分布式系统时,也就是你做的只是一个服务,对外发布也只是一个服务的时候,需要建立Web Services Project(不理解可以先研究下webservices)
3、当你仅仅是需要JDK来运行一些本地代码的时候,只需要建Java Project就可以啦饿

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

本人使用Classic Eclipse+所需插件(如WTP,SVN)+Tomcat6构建的开发环境,不仅插件按需安装,而且运行速度快,占用内存小。 
    现在只是说说Java Project和Web Project,那么二者有区别么?回答:没有!都是Java语言的应用,只是应用场合不同罢了,那么他们的本质到底是什么?回答:编译后路径!虚拟机执行的是class文件而不是java文件,那么我们不管是何种项目都是写的java文件,怎么就不一样了呢?分成java和web两种了呢? 
    从.classpath文件入手来看,这个文件在每个项目目录下都是存在的,很少有人打开看吧,那么我们就来一起看吧。这是一个XML文件,使用文本编辑器打开即可。 
这里展示一个web项目的.classpath,当然高手一眼就可以看出其作用了 
Xml代码  
<?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的选择完全是个人偏好,只是明白了本质能有更好的选择。

Java Project和Web Project 区别的更多相关文章

  1. Using Maven to generate a Java Project or Web project

    I often to generate a Java project or Web project with Eclipse tool. Well, I have no idea when I wan ...

  2. java中dynamic web project与web project 的区别 [转]

    原帖地址:http://blog.sina.com.cn/s/blog_46726d2401013jlk.html 文章框架: 1.Dynamic  Web Project 概念 2.eclipse ...

  3. 将Maven的Java Project转换或修改为Web Project

    将Maven的Java  Project转换为Web Project关键是需要了解Eclipse和MyEclipse的工程中如下文件.classpath..project. .mymetadata和s ...

  4. 如何在eclipse jee中创建Maven project并且转换为Dynamic web project

    如何在eclipse jee中创建Maven project并且转换为Dynamic web project 注意:该文档只针对以下eclipse版本,如图 为了方便,我将我本地的压缩包放在了微云网盘 ...

  5. Eclipse Java EE 创建 Dynamic Web Project

    1.      创建一个web工程,此处用eclipse创建(如果对创建web工程很熟悉,可以不看的,本文目的是做一个记录)  1)     打开新建工程对话框,选择Dynamic web Proje ...

  6. 一个Web Project引用多个Java Project在Eclipse下的配置--转载

    项目结构: 项目由一个Web Project和多个Java Project构成,Web Project需要引用其它Java Project的类和Jar包.开发时用Eclipse3.5和Tomcat调试 ...

  7. 在eclipse中新建Dynamic web project时选择2.5和3.0的区别(里面涉及servlet和tomcat的问题)

    1.是指servlet的版本,是2.5的还是3.0的 servlet3.0以后支持异步 2.dynamic web module和对应的TOMCAT 版本 http://blog.sina.com.c ...

  8. Eclipse 将Java项目转为Dynamic web project

    1.打开项目根目次下的.project 在<buildSpec>节点下是否存在 <buildCommand> <name>org.eclipse.wst.commo ...

  9. 在MyEclipse中将Java Project转换成Web Project

    在MyEclipse中将Java Project转换成Web Project 此添加方法是针对MyEclipse中添加的: 编辑工程的.project文件: 添加 <nature>com. ...

随机推荐

  1. apache common包下的StringUtils的join方法

    apache common包下的StringUtils的join方法: 关键字:java string array join public static String join(Iterator it ...

  2. spring中controller

    提示:原网站已由百度转码,以便在移动设备上查看. 第七城市 (Portal 开发读书笔记)Spring Portlet MVC 测试Controller 2012-04-28 16:32:44 - - ...

  3. WPF中ListBox的项ListBoxItem被选中的时候Background变化

    使用WPF 中ListBox,点击ListBoxItem的时候,自定义它的背景色,曾经在网上找了一些方法, 不是很理想,后来在StackOverflow上找到了,贴出代码和效果图: 效果图:

  4. 测试驱动开发实践 - Test-Driven Development

    一.前言 不知道大家有没听过“测试先行的开发”这一说法,作为一种开发实践,在过去进行开发时,一般是先开发用户界面或者是类,然后再在此基础上编写测试. 但在TDD中,首先是进行测试用例的编写,然后再进行 ...

  5. 【linux】

    virtualbox   hyper-v     vmware      KVM      LXC Utils       Docker

  6. advance 模板 怎么生成module

    advance 模板 怎么生成module namespace写什么如果是前台呢就是 frontend\modules\modulename\Module@我叫红领巾 module id有什么用bak ...

  7. wap开发使用jquery mobile之后页面不加载外部css样式文件/js文件

    场景: wap开发,使用jquery mobile之后不会加载外部自定义的css文件了,需要手动刷新才会加载,查看外部自定义的js文件也是一样. 解决办法: 1.在page下面添加css样式,就不要写 ...

  8. C# ASP.NET系统缓存全解析

    原文:http://blog.csdn.net/wyxhd2008/article/details/8076105 目录(?)[-] 系统缓存的概述 页面输出缓存 页面局部缓存 文件缓存依赖 数据库缓 ...

  9. bzoj 1295: [SCOI2009]最长距离 暴力+bfs最短路

    题目链接: http://www.lydsy.com/JudgeOnline/problem.php?id=1295 题解: 对每个点暴力跑一遍bfs,看能够到达的最远位置,这里如果有障碍物则距离为1 ...

  10. SVN--从本地检出项目至服务器报错--禁止访问

    错误描述: 原因:这是访问权限限制引起的. 查看/svn/test目录的权限--之前我修改过的 现在添加一个user就好了--这个添加的developer是我之前导入本地项目时已经验证过的,所以再导入 ...