首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

eclipse开发servlet的时候异常404

2012-08-29 
eclipse开发servlet的时候错误404刚学Servlet 用Eclipse写了个很简单的Servlet 在eclipse中正常启动了tomc

eclipse开发servlet的时候错误404
刚学Servlet 用Eclipse写了个很简单的Servlet 在eclipse中正常启动了tomcat 但是 在网站中输入http://localhost:7878/ServletDemo2/MyFirstServlet的时候显示404错误
下面是控制台的结果
2012-7-26 20:35:11 org.apache.catalina.core.AprLifecycleListener init
信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.6.0\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files\Java\jdk1.6.0\jre\bin;C:/Program Files/Java/jdk1.6.0/bin/../jre/bin/client;C:/Program Files/Java/jdk1.6.0/bin/../jre/bin;C:/Program Files/Java/jdk1.6.0/bin/../jre/lib/i386;E:\oracle\product\10.2.0\db_1\bin;C:\Program Files\Java\jdk1.6.0\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Common Files\Thunder Network\KanKan\Codecs;F:\实验 课程设计\新建文件夹\bin;D:\QQPCMgr\6.6.2136.201;E:\sjsas\bin;C:\Program Files\Java\jdk1.6.0\bin;F:\sb\android-sdk-windows\tools;E:\J2EE_Eclipse\eclipse;
2012-7-26 20:35:11 org.apache.coyote.http11.Http11Protocol init
信息: Initializing Coyote HTTP/1.1 on http-7878
2012-7-26 20:35:11 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 634 ms
2012-7-26 20:35:11 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2012-7-26 20:35:11 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/6.0.35
2012-7-26 20:35:11 org.apache.catalina.loader.WebappClassLoader validateJarFile
信息: validateJarFile(E:\Tomcat\apache-tomcat-6_win7\webapps\ServletDemo2\WebRoot\WEB-INF\lib\javaee.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
2012-7-26 20:35:11 org.apache.catalina.startup.HostConfig deployDescriptor
信息: Deploying configuration descriptor host-manager.xml
2012-7-26 20:35:12 org.apache.catalina.startup.HostConfig deployDescriptor
信息: Deploying configuration descriptor manager.xml
2012-7-26 20:35:12 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory docs
2012-7-26 20:35:12 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory examples
2012-7-26 20:35:12 org.apache.catalina.core.ApplicationContext log
信息: ContextListener: contextInitialized()
2012-7-26 20:35:12 org.apache.catalina.core.ApplicationContext log
信息: SessionListener: contextInitialized()
2012-7-26 20:35:12 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory PB_JSF
2012-7-26 20:35:12 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory PB_JSP
2012-7-26 20:35:12 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory ROOT
2012-7-26 20:35:12 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory Servlet
2012-7-26 20:35:12 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory ServletDemo
2012-7-26 20:35:12 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory ServletDemo2
2012-7-26 20:35:12 org.apache.coyote.http11.Http11Protocol start
信息: Starting Coyote HTTP/1.1 on http-7878
2012-7-26 20:35:12 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8009
2012-7-26 20:35:12 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/32 config=null
2012-7-26 20:35:12 org.apache.catalina.startup.Catalina start
信息: Server startup in 1270 ms

下面是web.xml的文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 


http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>com.servlet.MyServlet</servlet-class>
<load-on-startup>1</load-on-startup>
<display-name>第一个servlet</display-name>
</servlet>

<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
  <url-pattern>/myFirstServlet</url-pattern>
</servlet-mapping>
   
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
  </web-app>


下面是我的Servlet

package com.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.net.HttpRetryException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class MyServlet extends HttpServlet {
  
public MyServlet(){
super();
}

public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
doPost(request,response);

}

public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
PrintWriter out =response.getWriter();
 
out.print("this is my first servlet");
 
out.flush();
out.close();
}

}

下面是工程结构 直接建的java project 然后手动在下面添加的WebRoot 跟WEB-INF等文件夹




[解决办法]
404一般2种情况
1.服务器启动出错
2.访问路径出错
LZ应属前种,初步猜测Tomcat缺少必要jar包,因没遇到过,请LZ自行Google
[解决办法]
初学者常见错误,大小写错误:
<url-pattern>/myFirstServlet</url-pattern>

而你浏览器的地址是:
http://localhost:7878/ServletDemo2/MyFirstServlet

必须跟配置文件的大小写完全一致!
[解决办法]

探讨

初学者常见错误,大小写错误:
<url-pattern>/myFirstServlet</url-pattern>

而你浏览器的地址是:
http://localhost:7878/ServletDemo2/MyFirstServlet

必须跟配置文件的大小写完全一致!

热点排行