SearchServlet发生错误

lilinew 2009-09-11 07:58:30
SearchServlet发生错误
问题是不知道如何去跟进 , breakpoint can't be added
how to debug
bruce says: http://localhost:8080/addressbook/SearchServlet?email=mar@163.com&phone=333333656


type Status report

message /addressbook/SearchServlet

description The requested resource (/addressbook/SearchServlet) is not available.

代码
package addressbook.model;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;

class SearchServlet extends HttpServlet {
public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException{
//static{
System.out.println("load serverlet class");
//}
String name=request.getParameter("email");
String phone1=request.getParameter("phone");
........

编译没有错误
运行出现开头的提示错误
...全文
162 26 打赏 收藏 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
lxxzhy 2009-09-14
  • 打赏
  • 举报
回复
你试试把其它servlet和servlet-mapping拿掉,只剩下

<servlet>
<servlet-name>search</servlet-name>
<servlet-class>addressbook.model.SearchServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>search</servlet-name>
<url-pattern>/addressbook/SearchServlet</url-pattern>
</servlet-mapping>
lilinew 2009-09-14
  • 打赏
  • 举报
回复
能编译通过的是 运行发现还是不能找到文件
HTTP Status 404 - /addressbook/SearchServlet

--------------------------------------------------------------------------------

type Status report

message /addressbook/SearchServlet

description The requested resource (/addressbook/SearchServlet) is not available.

<servlet>
<servlet-name>userdatabase</servlet-name>
<servlet-class>addressbook.UserDatabaseServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>pathname</param-name>
<param-value>/WEB-INF/userdatabase.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>SearchServlet </servlet-name>
<servlet-class>addressbook.model.SearchServlet </servlet-class>
</servlet>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>




<servlet-mapping>
<servlet-name>SearchServlet</servlet-name>
<url-pattern>/addressbook/SearchServlet</url-pattern>
</servlet-mapping>
lxxzhy 2009-09-14
  • 打赏
  • 举报
回复
晕,这个配置跟语言无关吧.........

大小写敏感貌似c++也是吧......
lilinew 2009-09-14
  • 打赏
  • 举报
回复
</servlet> <servlet>
<servlet-name>search </servlet-name>
<servlet-class>addressbook.model.SearchServlet </servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>search </servlet-name>
<url-pattern>/addressbook/SearchServlet </url-pattern>
</servlet-mapping>


编译通不过
提示web.xml有问题, 只能分开放。
lilinew 2009-09-14
  • 打赏
  • 举报
回复
直言比vc还艰苦 vc不会有真么复杂的配置
vc抛开了繁琐的细节的配置 上手很快
即使mfc也没有搞这么多
语法上java要简单好多(没有指针)
lilinew 2009-09-14
  • 打赏
  • 举报
回复
在同事热情帮助下 ,奋勇调试最终解决这个问题
---感觉提高了很多 至少明白这个servelet是真么回事,不敢说完全明白,但至少有了储备
总结
1 大小写 空格 名称
2 serverlet的class前面要加上public 否则调试不能通过
<servlet>
<servlet-name>userdatabase </servlet-name>
<servlet-class>addressbook.UserDatabaseServlet </servlet-class>
<init-param>
<param-name>debug </param-name>
<param-value>2 </param-value>
</init-param>
<init-param>
<param-name>pathname </param-name>
<param-value>/WEB-INF/userdatabase.xml </param-value>
</init-param>
<load-on-startup>1 </load-on-startup>
</servlet>
<servlet>
<servlet-name>search</servlet-name>
<servlet-class>addressbook.model.SearchServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>action </servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet </servlet-class>
<init-param>
<param-name>config </param-name>
<param-value>/WEB-INF/struts-config.xml </param-value>
</init-param>
<load-on-startup>2 </load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>action </servlet-name>
<url-pattern>*.do </url-pattern>
</servlet-mapping>




<servlet-mapping>
<servlet-name>SearchServlet </servlet-name>
<url-pattern>SearchServlet</url-pattern>
</servlet-mapping>
see_gl 2009-09-14
  • 打赏
  • 举报
回复
XML路径有问题
lilinew 2009-09-14
  • 打赏
  • 举报
回复
我的默认是在debug 下, 这个无所谓的
(之前对action model做的新的java类都是这样执行的 

lxxzhy 2009-09-14
  • 打赏
  • 举报
回复
SearchServlet.class放到指定的目录了么?
lxxzhy 2009-09-14
  • 打赏
  • 举报
回复
晕,不会吧这样都不行
再试试把<servlet-name>中间内容的前后空格去掉吧......
lilinew 2009-09-14
  • 打赏
  • 举报
回复
HTTP Status 404 - /addressbook/SearchServlet

--------------------------------------------------------------------------------

type Status report

message /addressbook/SearchServlet

description The requested resource (/addressbook/SearchServlet) is not available.

lxxzhy 2009-09-14
  • 打赏
  • 举报
回复
晕.怎么把这段代码提上来了?
<servlet>
<servlet-name>search </servlet-name>
<servlet-class>addressbook.model.SearchServlet </servlet-class>
</servlet>

这个要和对应的<servlet-mapping>放一起的(好像是)

你调整好,编译之后,直接打开这个链接试试http://localhost:8080/addressbook/SearchServlet?email=mar@163.com&phone=333333656
lxxzhy 2009-09-14
  • 打赏
  • 举报
回复
你调整好,编译之后,直接打开这个链接试试http://localhost:8080/addressbook/SearchServlet?email=mar@163.com&phone=333333656
lilinew 2009-09-14
  • 打赏
  • 举报
回复
不可以
如果是上面的
第1个登录界面 都找不到
提示
page can't be found.
lilinew 2009-09-13
  • 打赏
  • 举报
回复
我的调用代码是
out.println("<td><a href=SearchServlet?email="+email+"&phone="+phone+">"+ j + "</td>");
lilinew 2009-09-13
  • 打赏
  • 举报
回复
配置问题解决, 但是运行发现还是不能找到文件
HTTP Status 404 - /addressbook/SearchServlet

--------------------------------------------------------------------------------

type Status report

message /addressbook/SearchServlet

description The requested resource (/addressbook/SearchServlet) is not available.


--------------------------------------------------------------------------------

Apache Tomcat/6.0.18


配置如下 (编译通过)
<web-app>
<display-name>Struts AddressBook Sample Applications</display-name>
<servlet>
<servlet-name>userdatabase</servlet-name>
<servlet-class>addressbook.UserDatabaseServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>pathname</param-name>
<param-value>/WEB-INF/userdatabase.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet> <servlet>
<servlet-name>search</servlet-name>
<servlet-class>addressbook.model.SearchServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>



<servlet-mapping>
<servlet-name>search</servlet-name>
<url-pattern>/addressbook/SearchServlet</url-pattern>
</servlet-mapping>
lxxzhy 2009-09-12
  • 打赏
  • 举报
回复
还要将SearchServlet.class文件放到
web-inf\classes\addressbook\model下
lxxzhy 2009-09-12
  • 打赏
  • 举报
回复
在这行<welcome-file-list>之前添加这么一段试试:
<servlet>
<servlet-name>search</servlet-name>
<servlet-class>addressbook.model.SearchServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>search</servlet-name>
<url-pattern>/addressbook/SearchServlet</url-pattern>
</servlet-mapping>
lxxzhy 2009-09-12
  • 打赏
  • 举报
回复
应该是web.xml的servlet-mapping没配好.

贴出来看看.
lilinew 2009-09-12
  • 打赏
  • 举报
回复
<?xml version="1.0" encoding="ISO-8859-1"?>


我的SearchServlet.java 文件放的目录为package addressbook.model;
和jsp不在同一目录 (jsp在webcontent目录)
web.xml的servlet-mapping 不知道如何配置
内容如下
<!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>Struts AddressBook Sample Applications</display-name>
<servlet>
<servlet-name>userdatabase</servlet-name>
<servlet-class>addressbook.UserDatabaseServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>pathname</param-name>
<param-value>/WEB-INF/userdatabase.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>

<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>

<taglib>
<taglib-uri>/WEB-INF/app.tld</taglib-uri>
<taglib-location>/WEB-INF/app.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-html.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
</taglib>
</web-app>
加载更多回复(6)

62,620

社区成员

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

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