IDEA 和 eclipse项目部署

Web应用部署:

    每当有部署描述符时,它必须命名为web.xml,并且必须放在WEB-INF目录下。Java类必须放在WEB-INF/classes目录中,Java类库必须放在WEB-INF/lib目录中。所有的应用程序资源则必须打包成一个以war为扩展名的文件。war文件相当于jar文件。
  • 所有的资源都要放在war文件中,但是不要包含java源文件。需要用到该应用程序的任何人只需要复制一份war文件,并将它部署到一个Servlet/JSP容器中即可

项目导出

eclipse中将动态web项目导出为war文件,并将war文件部署在tomcat上运行
war文件:web application api web应用程序文档

将war文件,移到tomcat目录下的 webapp目录下, 在终端启动tomcat,war文件会自动解压缩。
打包可以在eclipse下打包, 也可以在终端使用命令行打包。
在项目 WebContent目录下 jar -cvf Name.war

在给JavaWeb打包的过程中,会发现:将war包拉到tomcat的webapp目录下,然后开启tomcat服务,war会自动解压,而解压出来的东西,就是WebContent下的所有东西。

然后就可以打开这个web项目,简单的说WebContent下就是tomcat启动服务所需要的所有东西。

所以我们Web项目的编译输出目录,要在WebContent/WEB-INF/classes下,这样tomcat才能找到运行编译出来的文件

WEB-INF目录

/WEB-INF/web.xml
    你的Web应用程序配置文件,这是一个XML文件,其中描述了 servlet 和其他的应用组件配置及命名规则;


/WEB- INF/classes/
    这个目录包含了站点所有用的 class 文件,包括 servlet class 和非servlet class,他们不能包含在 .jar文件中。
    站点的类的存放规则应该按照Java的打包规则执行。例如: 有一个类命名为 com.mycompany.mypackage.MyServlet, 
    你应该按照以下形式部署: /WEB-INF/classes/com /mycompany/mypackage/MyServlet.class ;
    按照包名结构放置各个类(JavaBean   和   Servlet)   


/WEB- INF/lib/
    存放web应用需要的各种JAR文件,放置仅在这个应用中要求使用的jar文件,如数据库驱动jar文件


/WEB- INF/src/
    src=source 源码目录,按照包名结构放置各个java文件


/WEB- INF/database.properties
    数据库配置文件
        # database.properties
        jdbc.drivers = com.mysql.jdbc.Driver
        jdbc.url = jdbc:mysql://localhost/ams2
        jdbc.username = root
        jdbc.password = psw

        # table define
        ams2.table.dialogue = content_dialogue
        ams2.table.expansion = content_expansion_sentence
        ams2.table.vocabulary = content_vocabulary

META-INF

相当于一个信息包,目录中的文件和目录获得Java 2平台的认可与解释,用来配置应用程序、扩展程序、类加载器和服务
manifest.mf文件,在用jar打包时自动生成

下面是我从eclipse项目拉到IDEA中的配置过程

  • IDEA项目配置,便以输出目录必须要在WEB-INF/Classes下

IDEA 和 eclipse项目部署_第1张图片

  • 配置部署描述文件web.xml以及web资源目录

IDEA 和 eclipse项目部署_第2张图片

  • 模块依赖部分,需要将红色的删掉,添加进需要的lib包,同时添加tomcat

IDEA 和 eclipse项目部署_第3张图片

Libraries Facets 和 Aritifacts就根据提示配置即可

Maven项目的classes则是默认在target下

你可能感兴趣的:(eclipse)