请教tomcat下的设置 (救!)

「已注销」 2004-12-24 11:12:47
本人用tomcat-4.1.31,环境设置都好,还在examples里自己运行个jsp+bean的简单例子,可单运行个servlet,总是不成功,出错说找不到class,可我明明是放在webapps\examples\WEB-INF\class下,web里也部署,不知那位可指点一下!
还请问为什么一定要在examples下运行,自己创建个目录怎不可以,我也在conf目录下的server中设置了content,我也照以前的贴设置,可每次开了startup,就是一闪就没有了,是不是版本问题,应该不会啊.
到底哪里出了错???

(理论+实践=有意思)
...全文
143 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2004-12-25
  • 打赏
  • 举报
回复
谢谢 lspy (晓剑),在这里是不是package myservlet的原因, 所以要放在myservlet.

还请问为什么一定要在examples下运行,自己创建个目录怎不可以,我也在conf目录下的server中设置了content,可每次开了startup,为什么就是一闪就没有了?


Ispy 2004-12-25
  • 打赏
  • 举报
回复
放在webapps\examples\WEB-INF\classes\myservlet下
「已注销」 2004-12-25
  • 打赏
  • 举报
回复
简单的servlet在下,可编译成.class 放在webapps\examples\WEB-INF\classes
package myservlet;
import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class FirstServlet extends HttpServlet{
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException{
resp.setContentType("text/html;charset=GB2312");
PrintWriter out = resp.getWriter();
out.println("<html><head><title>第一个Servlet</title></head><body>");
out.println("<h2>这是个简单的servlet实例</h2>");

//make sure method="post" so that the servlet service method
//calls doPost in the response to this form submit
out.println(
"<form method='post' action ='" + req.getContextPath( ) + "' >");
out.println("<h4>输入你的名字然后提交:</h4>");
out.println("Your name: ");
out.println("<input type=text name=userName >");
out.println("<input type=submit value=Submit >");
out.println("</form>");
out.println("</body></html>");
out.close();
}//doGet

public void doPost(HttpServletRequest req,
HttpServletResponse resp) throws ServletException,
java.io.IOException {
req.setCharacterEncoding("GBK");
String userName= req.getParameter("userName");
resp.setContentType("text/html;charset=GB2312");
PrintWriter out = resp.getWriter( );

//Begin assembling the HTML content
out.println("<b>欢迎您:</b>"+userName);
out.close();
}

public String getServletInfo() {
return "这是个简单servlet程序" ;
}
public void init(ServletConfig cfg) throws ServletException{
super.init(cfg);
}
public void destroy(){
super.destroy();
}
}

在WEB-INF下的web.xml里部署

<servlet>
<servlet-name>
FirstServlet
</servlet-name>
<display-name>FirstServlet</display-name>
<servlet-class>
myservlet.FirstServlet
</servlet-class>

</servlet>
<servlet-mapping>
<servlet-name>FirstServlet</servlet-name>
<url-pattern>/FirstServlet</url-pattern>
</servlet-mapping>


运行则出现如下错误:
description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Wrapper cannot find servlet class myservlet.FirstServlet or a class it depends on
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:844)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:621)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:163)
~~~~~~~~~~~...................
谁帮帮忙了,大老!

denglei32 2004-12-25
  • 打赏
  • 举报
回复
不是class是classes
classjava 2004-12-24
  • 打赏
  • 举报
回复
关注,不抢分
Ispy 2004-12-24
  • 打赏
  • 举报
回复
打别字了 是请注意 ^_^
Ispy 2004-12-24
  • 打赏
  • 举报
回复
不需要在examples目录下
自建目录请注册Webapp的目录格式。
Ispy 2004-12-24
  • 打赏
  • 举报
回复
加句试试

<servlet-mapping>
<servlet-name>servlet名字</servlet-name>
<url-pattern>servlet所在的文字以及名字(相对classes目录)</url-pattern>
</servlet-mapping>
zyg158 2004-12-24
  • 打赏
  • 举报
回复
web.xml正确格式如下,你可以参考一下
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<display-name>VB</display-name>
<servlet>
<servlet-name>VBDemoServlet</servlet-name>
<servlet-class>com.sunnitech.VirtualBankDemo.VBDemoServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>ServletTest</servlet-name>
<servlet-class>com.sunnitech.VirtualBankDemo.ServletTest</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>VBDemoServlet</servlet-name>
<url-pattern>/do</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>ServletTest</servlet-name>
<url-pattern>/sa</url-pattern>
</servlet-mapping>
</web-app>
Ispy 2004-12-24
  • 打赏
  • 举报
回复
贴web.xml

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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