麻烦下各位:
在新建项目JavaMail下的login页面提交给/checkUser时,出现了这样的错误:
Wrapper cannot find servlet class Beans.checkUser or a class it depends on
而tomcat/conf/web.xml中的配置是
<servlet>
<servlet-name>checkUser</servlet-name>
<servlet-class>Beans.checkUser</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>checkUser</servlet-name>
<url-pattern>/checkUser</url-pattern>
</servlet-mapping>
在JavaMail/WEB-INF/classes里放了package为Beans的checkUser.class,但是调用
checkUser时好象找不到该servlet的路径,我试过把.../JavaMail/WEB-INF/classes的路径
给tomcat,就调用得了,可是运行时测试出session并没有传递给checkUser,连request里的值
也无法在checkUser里获取?所以,我觉得把servlet的路径给tomcat还是不对劲的。
应该怎么样解决那个找不到servlet的错误?
在新建项目JavaMail下的login页面提交给/checkUser时,出现了这样的错误:
Wrapper cannot find servlet class Beans.checkUser or a class it depends on
而tomcat/conf/web.xml中的配置是
<servlet>
<servlet-name>checkUser</servlet-name>
<servlet-class>Beans.checkUser</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>checkUser</servlet-name>
<url-pattern>/checkUser</url-pattern>
</servlet-mapping>
在JavaMail/WEB-INF/classes里放了package为Beans的checkUser.class,但是调用
checkUser时好象找不到该servlet的路径,我试过把.../JavaMail/WEB-INF/classes的路径
给tomcat,就调用得了,可是运行时测试出session并没有传递给checkUser,连request里的值
也无法在checkUser里获取?所以,我觉得把servlet的路径给tomcat还是不对劲的。
应该怎么样解决那个找不到servlet的错误?
解决方案 »
- eclipse+tomcat6.0+oracle 10g配置数据库连接池的错误
- java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306
- 如何Extjs将Excel导入到数据库
- 最近在做一个webqq的项目基本的功能实现了,现在想对它进一步的更新希望和大家一起研究
- 为什么呀??
- 请问谁有JSP写的网络考试的开源代码及数据库
- Indexed属性的问题
- 文件下载问题!---(顶者有分)
- 两个系统之间以什么方式交互数据?
- 紧急求救!如何用Socket改写post格式?
- 哪个搜索资料最准
- 菜鸟求救!!!
有那个错误,原本是放在JavaMail/WEB-INF/classes下也出错,
应该怎么办呀?
其次应该在 logon的action 中配置 /工程名/checkuser
web.xml应该是直接放在web-inf目录下吧
<servlet>
<servlet-name>checkUser</servlet-name>
<servlet-class>Beans.checkUser</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>checkUser</servlet-name>
<url-pattern>/checkUser</url-pattern>
</servlet-mapping>
在Tomcat 5.0\conf\Catalina\localhost下加了JavaMail.xml,主要内容为
<Context path="/JavaMail" docBase="JavaMail"
debug="0" privileged="true">
</Context>
这样还是不行,我其他的项目也大致是这样配置都行,这次好奇怪,
至于“应该在 logon的action 中配置 /工程名/checkuser”,能不能说清楚点?
SORRY!
是不是在.../struct/action目录下的文件要配置呀?
谢谢!
+ WEB-INF\
+ web.xml
+ classes\
+ beans\
+ CheckUser.class在web.xml中配置Servlet,如下(注意不要加多余的空格符[你的配置中就有],以免造成未知错误):
<servlet>
<servlet-name>CheckUser</servlet-name>
<servlet-class>beans.CheckUser</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CheckUser</servlet-name>
<url-pattern>/checkUser</url-pattern>
</servlet-mapping>
Tomcat 5.x下的配置: Tomcat 5.0\conf\Catalina\localhost下加了JavaMail.xml
<Context path="/JavaMail" docBase="D:\JavaMail"
debug="0" privileged="true" >
</Context >
+ WEB-INF\
+ web.xml
+ classes\
+ beans\
+ CheckUser.class 在web.xml中配置Servlet,如下(注意不要加多余的空格符[你的配置中就有],以免造成未知错误):
<servlet>
<servlet-name>CheckUser</servlet-name>
<servlet-class>beans.CheckUser</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CheckUser</servlet-name>
<url-pattern>/checkUser</url-pattern>
</servlet-mapping>
Tomcat 5.x下的配置: Tomcat 5.0\conf\Catalina\localhost下加了JavaMail.xml
<Context path="/JavaMail" docBase="D:\JavaMail"
debug="0" privileged="true">
</Context>
在Tomcat 5.0\conf\Catalina\localhost 下的JavaMail.xml文件内容是
<Context path="/JavaMail" docBase="D:\JavaMail"
debug="0" privileged="true"/> 没有空格
在Tomcat 5.0\conf下的web.xml文件内容是
<servlet>
<servlet-name>checkUser</servlet-name>
<servlet-class>Beans.checkUser</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>checkUser</servlet-name>
<url-pattern>/checkUser</url-pattern>
</servlet-mapping> 也没有空格。
这个问题搞了我整天了,超晕,在\JavaMail\WEB-INF下创建web.xml,我也试过,还是不行。
我换了另一个servlet也还是同样的出错,所以我想应该是配置的问题。
把路径\JavaMail\WEB-INF\classes\Beans\checkUser直接给tomcat虽然可行,但是request
好象没有传递给servlet,要使用session时,又得生成新的session。好奇怪啊!
请各位帮帮忙!
login页面: <form action="/checkUser" method="post">
<table align='center'>
<tr><td>用户名: </td><td><input name="userName" type="text"></td></tr>
<tr><td>密码: </td><td><input name="userPsw" type="password"></td></tr>
<tr><td align="center" colspan="2"><input id="loginBtn" type="submit" value="登录">
<input id="resetBtn" type="reset" value="重置"></td></tr>
</table>
</form>
test: package Beans;
import javax.servlet.http.*;
import javax.servlet.*;
import java.io.*;
public class test extends HttpServlet{
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
PrintWriter out=response.getWriter();
out.println("dfdfd");
}
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
this.doPost(request,response);
}
}
<servlet>
<servlet-name>CheckUser</servlet-name>
<servlet-class>beans.CheckUser</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CheckUser</servlet-name>
<url-pattern>/CheckUser</url-pattern>
</servlet-mapping>
包名改小写,类名改头字母大写,并重编译,调用servlet的页面也将/checkUser改为/CheckUser,
还是出现了这样的错误:
The requested resource (/CheckUser) is not available.
谢谢各位大侠的救助,谢谢yaray的建议,包名小写,类名头字母大写,我会注意的