SAE中Java Web工程部署代码

        这几天在SAE上部署Java Web代码时,遇到了一些问题,在此做一个小结,便于以后学习。

          Java程序只支持war包的提交,不能直接提交其它类型的文件,应该先打包成.war后缀名的文件;最简单的一种方式是直接将zip文件的后缀名改为war即可。

        在打包的过程中有几点需要注意:

          1.       打包的内容应该是对应工程下面的文件,而不是将工程打包

        如图,工程wxfirst的文件结构如图1(实际WEB-INF目录下还有一个web.xml文件,servlet目录下有文件CoreServlet.javautil目录下有文件SignUtil.java,这三个文件的内容见参考资料[1],在这里上述文件没有显示出来)。

SAE中Java Web工程部署代码_第1张图片

图1.  

        如果直接对工程wxfirst打包,并将打包后的文件wxfirst.war以网页的形式增加到SAE的相应版本中(参考http://sae.sina.com.cn/doc/java/tutorial.html#id3)。如图2所示,点击相应的网址访问,会出现如图3所示的结果。

SAE中Java Web工程部署代码_第2张图片

 

图2.  

SAE中Java Web工程部署代码_第3张图片

图3.   

        直接在浏览器地址栏中输入http:// 1.wxfirst.sinaapp.com/wxfirst/coreServlet,/coreServlet是CoreServlet.java配置的路径,则会提示如图4的错误

SAE中Java Web工程部署代码_第4张图片

图4.  

        上网找了很久的资料,最后在资料2的网页中看到有人回复“打包的时候多了一层目录”,才想到可能是这个原因。于是重新对WEB-INF(不是wxfirst)目录进行打包,再在地址栏输入http://1.wxfirst.sinaapp.com/coreServlet,结果如图5(该错误是代码自身的原因)。

SAE中Java Web工程部署代码_第5张图片

图5.   

         2.       Servlet.jar不能添加到工程中

       如果将Servlet.jar文件放在lib目录下,也会出现图3、图4的情况。只有在不增加该文件的情况下,才能出现图5所示的结果。

       参考资料

        [1]    http:// blog.csdn.net/forlong401/article/details/19213919

        [2]    http:// cloudbbs.org/forum.php?mod=viewthread&tid=20372

 

 

 

 

你可能感兴趣的:(SAE)