大家好,我是新来的,对jsp很感兴趣,希望高手们多多给予指点,谢谢各位了。
我的问题是,我做了个servlet的程序,目的是返回用户的ip地址
这是我写的 servlet的代码:文件名是SimpleServlet.java
package test;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 SimpleServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { doPost(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println("  <HEAD><TITLE>Simple Servlet</TITLE></HEAD>");
out.println("  <BODY>");
out.print("<CENTER><FONT size=6 color=red>");
out.print("Your address is"+request.getRemoteAddr()+"<br>");
out.println("</FONT></CENTER>");
out.println("  </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
public void init(ServletConfig config) throws ServletException {
super.init(config);
}}
这是它的WEB.XML的代码
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
xmlns="http://java.sun.com/xml/ns/j2ee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  <servlet>
    <description>This is the description of my J2EE component</description>
    <display-name>This is the display name of my J2EE component</display-name>
    <servlet-name>SimpleServlet</servlet-name>
    <servlet-class>test.SimpleServlet</servlet-class>
  </servlet>  <servlet-mapping>
    <servlet-name>SimpleServlet</servlet-name>
    <url-pattern>/servlet/SimpleServlet</url-pattern>
  </servlet-mapping>
</web-app>我tomcat后打开网页报500的错误信息,找不到错在那里了,希望大家帮帮我
这是错误信息
HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: Error allocating a servlet instance
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:873)
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
java.lang.Thread.run(Thread.java:595)
root cause java.lang.UnsupportedClassVersionError: Bad version number in .class file (unable to load class test.SimpleServlet)
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1884)
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:889)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1353)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1232)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:873)
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
java.lang.Thread.run(Thread.java:595)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.28 logs.
--------------------------------------------------------------------------------Apache Tomcat/5.5.28

解决方案 »

  1.   

    root cause java.lang.UnsupportedClassVersionError: Bad version number in .class file (unable to load class test.SimpleServlet) 报告:不支持类的版本,不能加载test.SimpleServlet类。应该是创建的Servlet问题。
    楼主重新创建一次,如果还不行的话,那么在创建的时候注意一下相关的选项...
      

  2.   

    java版本不对。建议更新到最新的jdk 1.6版本。
      

  3.   

    回复2楼,能说的具体些吗?注意那些相关的选项呢?
    回复3楼,我的jdk 就是1.5的
      

  4.   

    将out.print("Your address is"+request.getRemoteAddr()+" <br>"); 去掉应该就好了,你的jdk版本不对
      

  5.   

    回复4楼,我的tomcat是5.5的,jdk是1.5的。要是该1.6的 jdk,我的tomcat,是不是也要更新到高版本?
      

  6.   

    我的Tomcat是6.0,JDK是1.6的,只要程序没错误运行Servlet没啥问题。
      

  7.   

    http://blog.csdn.net/tiaotiao168/archive/2009/07/03/4319780.aspx
      

  8.   

     先用 init()完成初始化servlet对象   再用dopost响应客户的请求  你把init()方法放前面 试试
      

  9.   

    楼主根据servlet的生命周期,一步步测试吧
    先从init()方法开始,到destory() 看一下你的流程
      

  10.   

    应该是你编译环境是6.0的,运行环境是5.0的,检查一下你的编译环境
    如果是Eclipse开发的,检查下java complier
      

  11.   

    javax.servlet.ServletException:错误分配一个Servlet实例
      

  12.   

    www.8211.cn大量计算机电子书籍下载