【发布时间】:2011-03-16 20:40:03
【问题描述】:
【问题讨论】:
标签: java
【问题讨论】:
标签: java
Servlet 属于 WEB-INF/classes。在这台机器上,源代码位于 /var/www/hosts/www.caucho.com/webapps/resin-3.0/WEB-INF/classes 中的 Java 源代码中。 WEB-INF/classes 是 servlet 和其他 Java 类的标准位置。 Resin 自动重新加载和重新编译放在 WEB-INF/classes 中的 servlet、bean 和类。您应该进行一些更改并添加错误以熟悉 Resin 的重新编译和错误报告。
使用您最喜欢的文本编辑器在 WEB-INF/classes/test/HelloServlet.java 中创建以下 servlet:notepad、emacs、vi 或其他任何东西。 (在这台机器上,/var/www/hosts/www.caucho.com/webapps/resin-3.0/WEB-INF/classes/test/HelloServlet.java)
WEB-INF/classes/test/HelloServlet.java
封装测试;
导入 java.io.*;
导入 javax.servlet.http.*;
import javax.servlet.*;
public class HelloServlet extends HttpServlet {
public void doGet (HttpServletRequest req,
HttpServletResponse res)
throws ServletException, IOException
{
PrintWriter out = res.getWriter();
out.println("Hello, world!");
out.close();
}
}
现在浏览位于 /resin-3.0/hello 的 servlet。 Resin 会自动为你编译 servlet。浏览 servlet 与页面浏览不同,因为您正在执行 servlet 类,而不是查看页面。 /hello URL 是为下面的 hello, world servlet 配置的。
配置
servlet 的配置位于 WEB-INF/web.xml 文件中。
servlet 需要配置并且需要映射到一个 URL。标记配置 servlet。在我们的简单示例中,我们只需要指定 servlet 的类名。
标签指定将调用 servlet 的 URL。在我们的例子中,/hello URL 调用 servlet。因为教程 webapp 是像 /doc/servlet/tutorial/helloworld 这样的子 URL,所以调用 servlet 的实际 URL 是两者的组合。
WEB-INF/web.xml
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" version="2.4"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http:/java.sun.com/dtd/web-app_2_3.dtd">
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>test.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
【讨论】: