手工完成java项目(二)——web项目 博客分类: java JavaJarweb项目发布手工完成web项目javac
程序员文章站
2024-03-21 19:42:46
...
1.建如下目录
----testweb
----src
----cn
----jun
----servlet
----TestServlet.java
----webapps
----index.html
----result.jsp
----WEB-INF
----classes
----cn
----jun
----servlet
----TestServlet.class
----lib
----web.xml
----lib
注:src:是存放java原文件的
webapps:存放要web项目发布时的所有文件
lib:存放所需的jar包,主要是方便编译(和WEB-INF下的lib是存放项目引用的jar包,但不包括jsp,servlet所需的一些jar包,因为如果他包含的jar包和tomcat中的lib下的jar包重复会报错)
关于web.xml,result.jsp,index.html,TestServlet.java的具体代码见附件
2.编译
先切换到testweb目录下
用命令:javac -d webapps/WEB-IN/classes -cp lib/servlet-api.jar;lib/mytest2.jar src/cn/jun/servlet/*.java
注: -cp是指java文件所用到的jar包,有多少就以“;”隔开列多少,我这里只有一个java文件只用到了servlet-api.jar和mytest2.jar 两个jar包
3.发布
有三种方式,如下
第一种:直接复制webapps目录到tomcat根目录下的webapps,并将该webapps文件夹改名testweb,这样就http://127.0.0.1:8080/testweb/可以直接访问
第二种:修改Tomcat\conf\server.xml ,server.xml中的<host></host>直接加入如下配置
<Context path="/testweb" reloadable="true" docBase="D:\workspace\testweb\webapps" workDir="D:\workspace\testweb\work" >
<Logger className="org.apache.catalina.logger.SystemOutLogger" verbosity="4" timestamp="true"/>
</Context>
<Logger className="org.apache.catalina.logger.SystemOutLogger" verbosity="4" timestamp="true"/>
</Context>
其中docBase是指项目所在目录,workDir是指编译的jsp文件存放的目录,当前项目并没有,因此这里可以为空,tomcat会默认存放在tomcat下的\work\Catalina\localhost目录下
第三种: 打成war包,然后放到tomcat根目录下的webapps下,其实这个方法和第一种是一样的,tomcat会在运行的时候将war包解压,不过打成war包后方便发布
打war包: 先到dos窗口中切换到testweb\webapps目录下,然后命令 jar cvfM testweb.war ./ .
小结:这两篇文章的目的是加深对java项目的理解,实际操作当然还用IDE工具