日期:2014-05-16  浏览次数:20811 次

Servlet的一些疑问。(tomcat,JAVA)
   今天视频里的老师说,Servlet在服务器在被访问的时候开始创建,创建完成之后,就一直保留在服务器内,直到服务器关闭。
   而且当时,他用代码做了测试,我也发现情况确实如他所说。在开始启动tomcat的时候,他创建的那个继承自Servlet的类的init方法并没有被调用。
   但是我在自己的机器上进行配置的时候,却没法观察到他的那种效果。   
    这是我自己的继承自HttpServlet的类,我在init方法,destory方法,构造函数中,都加入了输出语句。
    但是我在启动tomcat,访问对应的服务器的时候,这些方法里面的输出语句貌似都没反应,没有任何的信息输出在控制台上。
    
package cn.dzr;

import java.io.IOException;

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 MyServlet2 extends HttpServlet 
{
private static final long serialVersionUID = 1L;
       
   
    public MyServlet2()
    {
        super();
        
    }

@Override
public void destroy()
{
super.destroy();
System.out.println("服务器终止...");
}

@Override
public void init(ServletConfig config) throws ServletException
{
super.init(config);
System.out.println("服务器启动.....");
}


protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
{
System.out.println("doGet\n\n\n\n\n");
response.getOutputStream().write("Hello,Whai is it!".getBytes());
}


protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{

doGet(request,response);
}

}




例外,Servlet,Web服务器,浏览器(访问web资源),三者究竟如何进行工作呢。
Servlet的初始化,或者对象的生成,是在什么时候,为什么我上面的代码会看不到输出...
我自己定义的这个类有生成对象么?


八月 19, 2013 8:59:44 下午 org.apache.catalina.core.AprLifecycleListener init
INFO: 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.7.0_21\bin;
C:\Windows\Sun\Java\bin;C:\Windows\system32;
C:\Windows;
C:/Program Files/Java/jdk1.7.0_21/bin/../jre/bin/server;
C:/Program Files/Java/jdk1.7.0_21/bin/../jre/bin;
C:/Program Files/Java/jdk1.7.0_21/bin/../jre/lib/amd64;
C:\Program Files\Java\jdk1.7.0_21\bin;
C:\Program Files\Java\jdk1.7.0_21\jre\bin;
C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;
C:\Windows\system32;
C:\Windows;
C:\Windows\System32\Wbem;
C:\Windows\System32\WindowsPowerShell\v1.0\;
D:\eclipse;;.

在Eclipse下启动tomcat的时候,开始会出来这么一大段信息,究竟是什么意思呢。这些路径有何意义呢?


还有:
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:aaaWebProject3d' did not find a matching property.

这个警告有办法解决么?



------解决方案--------------------
你看的教程是以前的吧。WEB服务器在开始就会启动一个Servlet,之后,你新建的Servlet对象会在后台完成,然后将值穿给你Servlet,所以那些初始化信息就无法获取