1、编写servlet程序
HelloServlet.java文件内容如下:虽然目前不太熟悉这些语法,但是直接抄来李孝祥老师的例子,应该没有错。
package servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloServlet {
public void Service(HttpServletRequest request, HttpServletResponse response)
throws ServletException,IOException{
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<font size=30 color=red>www.baidu.com</font>");
out.println("<marquee>"+new java.util.Date()+"</marquee>");
out.println("</html>");
}
}
编译,生产HelloServlet.class文件,
2、配置tomcat服务器
2.1 配置虚拟子目录
为了方便,直接在server.ml文件中<host>中添加如下语句,
<Context path="/servlet" docBase="F:\servlet" debug="0"/>
配置一个servlet虚拟子目录,真实路径为:F:\servlet。为了验证配置的正确性,在F:\servlet\index.html文件中写入一句话:
F:\servlet\index.html
开启tomcat服务器,在浏览器地址栏中输入http://localhost:8080/servlet/index.html路径,访问结果如下:
说明虚拟子目录配置成功。
2.2 注册和映射servlet
在F:\servlet目录下创建WEB-INF,在WEB-INF目录下创建web.xml文件和classes文件夹,将编译好的HelloServlet.class文件拷贝到classes文件夹下。
打开web.xml文件,编辑内容为:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0"
metadata-complete="true">
<servlet>
<servlet-name>AnyName</servlet-name>
<servlet-class>HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AnyName</servlet-name>
<url-pattern>/domo/hello.html</url-pattern>
</servlet-mapping>
</web-app>
关闭文件,重启tomcat服务器,在地址栏中输入:http://localhost:8080/servlet/demo/hello.html,出现如下内容:
在网上搜了很多资料,大部分没有使用虚拟子目录的方式访问,我觉得其实都是一样的。也曾经试过在tomcat应用程序目录webapps目录下创建一个servlet文件,将上面WEB-INF文件夹直接拷贝过来,通过浏览器访问,效果也是一样的,目前不知道真正问题所在,希望大家能够指点指点,在此感谢大家!!
2 个解决方案
#1
WEB-INF下的网页不能直接访问 得通过Servlet跳转
#2
能否详细说明,刚开始接触servlet,对很多概念不大了解,谢谢!!
#1
WEB-INF下的网页不能直接访问 得通过Servlet跳转
#2
能否详细说明,刚开始接触servlet,对很多概念不大了解,谢谢!!