关于servlet纠结的一个问题

来源:互联网 发布:如何在淘宝网上卖东西 编辑:程序博客网 时间:2024/05/22 01:16

在使用servlet时碰到一个很纠结的问题,说纠结是因为以前用了多次都没遇到,在此做个备份。


通常在用eclipse编写servlet时需注意的是:

1.工程目录

   如logreport工程:

           logreport/WEB-INF/classes/servlet的class文件(包含包名) 如果在eclipse下,直接将build下的classes复制在WEB-INF目录下即可

           logreport/ web.xml(注册servlet)

           logreport/ test.jsp

           logreport/src(放servlet源代码)

          

  web.xml可参考为:

<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <display-name>My Web Application</display-name> <description> A application for test. </description> <servlet>     <servlet-name>LogReportServlet</servlet-name>     <servlet-class>com.compal.tsweb.web.LogReportServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>LogReportServlet</servlet-name> <url-pattern>/LogReportServlet</url-pattern> </servlet-mapping> </web-app> 

纠结的地方是:

<servlet>     <servlet-name>LogReportServlet</servlet-name>     <servlet-class>com.compal.tsweb.web.LogReportServlet</servlet-class> </servlet> 

<servlet-name>LogReportServlet</servlet-name> 中的LogReportServlet必须和
<servlet-class>com.compal.tsweb.web.LogReportServlet</servlet-class> 
中的除去包名的类名一致,servlet才能被访问

test.jsp引用servlet参考如下

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Log Report</title><%String empNumber = (String) request.getSession().getAttribute("empNum");empNumber = "12345";request.getSession().setAttribute("empNum", empNumber);/* request.setAttribute("empNumber", empNumber); */%></head><body><div><p>Please select testedItem to query:</p><!-- <form action="QueryResult.jsp" method="post" > --><form action="/logreport/LogReportServlet" method="post" ><select name="QueryItem"><option value="servlettest">servlettest</option></select><input type="submit" name="Query" value="query"></form></div></body></html>