Servlets 上下文侦听器中的问题
我试图使用ServletContextListener运行一个servlet,我把书中的代码放在这里 “Head First”编写器“Kathy sierra”,但这不起作用。它显示404错误。我已将类文件放在目录C:\Tomcat 5.5\webapps\Listener\u exe\web inf\classes\com\example中。和web inf目录中的web.xml文件。所以请告诉我我在哪里 做错了。下面是servlet、java文件和xml文件`Servlets 上下文侦听器中的问题,servlets,servlet-listeners,Servlets,Servlet Listeners,我试图使用ServletContextListener运行一个servlet,我把书中的代码放在这里 “Head First”编写器“Kathy sierra”,但这不起作用。它显示404错误。我已将类文件放在目录C:\Tomcat 5.5\webapps\Listener\u exe\web inf\classes\com\example中。和web inf目录中的web.xml文件。所以请告诉我我在哪里 做错了。下面是servlet、java文件和xml文件` package com.exa
package com.example;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class ListenerTester extends HttpServlet
{
public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><body>test context attributes set by listener<br>");
Dog dog = (Dog) getServletContext().getAttribute("dog");
out.println("Dog's breed is: "+dog.getBreed()+</body></html>);
}
}
package com.example;
public class Dog
{
private String breed;
public Dog(String breed)
{
this.breed=breed;
}
public String getBreed()
{
return breed;
}
}
package com.example;
import javax.servlet.*;
public class MyServletContextListener implements ServletContextListener
{
public void contextInitialized(ServletContextEvent event)
{
ServletContext sc = event.getServletContext();
String dogBreed = sc.getInitParameter("breed");
Dog d = new Dog(dogBreed);
sc.setAttribute("dog",d);
}
public void contextDestroyed(ServletContextEvent event)
{}
}
<web-app>
<servlet>
<servlet-name>ListenerTester</servlet-name>
<servlet-class>com.example.ListenerTester</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ListenerTester</servlet-name>
<url-pattern>/ListenerTester</url-pattern>
</servlet-mapping>
<Context-param>
<param-name>breed</param-name>
<param-value>Great Dane</param-value>
</Context-param>
<listener>
<listener-class>
com.example.MyServletContextListener
</listener-class>
</listener>
</web-app>
package.com.example;
导入javax.servlet.*;
导入javax.servlet.http.*;
导入java.io.*;
公共类ListenerTester扩展了HttpServlet
{
public void doGet(HttpServletRequest请求,HttpServletResponse响应)抛出IOException,ServletException
{
response.setContentType(“text/html”);
PrintWriter out=response.getWriter();
println(“由侦听器设置的测试上下文属性
”;
Dog Dog=(Dog)getServletContext().getAttribute(“Dog”);
out.println(“狗的品种是:“+Dog.getbride()+);
}
}
包com.example;
公家犬
{
私家犬;
公犬(弦犬)
{
这个品种;
}
公共字符串getbride()
{
回归品种;
}
}
包com.example;
导入javax.servlet.*;
公共类MyServletContextListener实现ServletContextListener
{
公共void contextInitialized(ServletContextEvent事件)
{
ServletContext sc=event.getServletContext();
字符串dogbride=sc.getInitParameter(“bride”);
狗d=新狗(狗种);
sc.setAttribute(“狗”,d);
}
公共无效上下文已销毁(ServletContextEvent事件)
{}
}
监听器
com.example.ListenerTester
监听器
/监听器
繁殖
大丹
com.example.MyServletContextListener
您是否使用了正确的URL访问该页面?你的URL应该是这样的
http://localhost:8080/Listener_exe/ListenerTester
使用为连接器设置的任何主机名或端口号