求助:在servlet里引用自定义的包,编译通不过。

because1980 2008-07-29 10:56:06
最近在看《Head First Servlets & JSP》,书上有个例子是:Beer-v1,写了一个简单的servlet
代码:
package com.example.web;

import com.example.model.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class BeerSelect extends HttpServlet
{
public void doPost(HttpServletRequest request,HttpServletResponse response)throws IOException,ServletException
{
response.setContentType("text/html");
PrintWriter out= response.getWriter();
out.println("Beer Selection Advice<br>");
String c=request.getParameter("color");
//out.println("<br>Got beer color:"+c);
BeerExpert be=new BeerExpert();
List result=be.getBrands(c);
Iterator it=result.iterator();
while(it.hasNext()){
out.print("<br>try: "+it.next());
}
}
}

定义了一个包(package com.example.model),然后再用servlet调用它,代码中引入(import com.example.model.*;)
这个代码的大概框架是:主目录是Myprojects\beerv1\,然后分别有lib,classes,src等等,
src\com\example\model 放的是模型组件(java类)
class\com\example\web 放的是编译后的servlet类文件
class\com\example\model 放的是编译后的模型类文件
src\com\example\web 放的是servlet组件(java类)
用cmd编译时,报错,说import com.example.model.* does not exist
试了好多次,无论是把模型的.class文件放在jdk的lib下,还是放在其它地方,classpath也试着改了,都报一样的错误。
哪位能帮帮忙!!!!!!!
...全文
70 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
netfengxia 2012-07-18
  • 打赏
  • 举报
回复
这个问题终于解决了,我是今天才看的这本书的电子版,也是菜鸟一个,在学习中.我的解决方法如下:
1,最主要的问题是书中在编译BeerSelect时,所在的目录为BeerV1. 这是一个天大的陷阱.应该再进入Src文件夹.
2,然后执行javac -d ..\classes com/example/web/BeerSelect.java这个命令.
3.关于Servlet_Api.jar包的引用我放到了扩展目录中,就不用手工编译了.在%JAVA_HOME%/lib/ext下存放就可以了.
我也是刚做完,希望我的答案能帮到同样困惑的人.
ultramanhkf 2009-10-29
  • 打赏
  • 举报
回复
我编译时能过,但是却在浏览器上显示404
because1980 2008-07-29
  • 打赏
  • 举报
回复
自己顶一下,我是菜鸟,哪位GG、JJ告诉我怎么解决这个问题。先谢谢了

81,115

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧