类型:转载 责任编辑:asp.net 日期:2007/05/23
热门软件下载:
HTML代码如下:<html>
<head>
<TITLE>Example</TITLE>
</head>
<body bgcolor="WHITE">
<table border="2" cellpadding="2" align="center">
<tr><td width="275">
<H2>简单的Servlet</H2>
<br>
点击"提交",调用Servlet
<br>
<!调用tomcat根目录/webapps/examples/WEB-INF/classes/ExampServlet.class>
<form method="post" action="/servlet/ExampServlet">
<input type="text" name="DATA" size=30>
<p>
<input type="SUBMIT" value= "提交">
<input type="RESET" value= "重置">
</form>
</td></tr>
</table>
</body>
</html>
ExampleServlet.java文件的内容如下:
public class ExampServlet extends HttpServlet
{
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<title>Example</title>"+"<body bgcolor=FFFFFF>");
String head = new String("显示你输入的内容");
head = new String(head.getBytes("GB2312"),"8859_1");
out.println("<h2 align=center>"+head+"</h2>");
String DATA = request.getParameter("DATA");
if(!DATA.equals("")){
out.println(DATA);
}
else {
String infor = new String("你没有文字输入");
infor = new String(infor.getBytes("GB2312"),"8859_1");
out.println(infor);
}
out.println("<p><A HREF=../myweb/Example.html>Back</A>");
out.close();
}
}
我的路径正确,分别保存在WEBAPPS\MYWEB和WEBAPPS\MYWEB\WEB-INF\classes\目录下,但是HTML可以运行,在其中的文本框中输入文字后点提交后却出错,提示:
description The requested resource (/servlet/ExampServlet) is not available.
请教高手!
网友回答:
试下在web.xml里面加上
<servlet id="Servlet_1">
<servlet-name>ExampleServlet</servlet-name>
<display-name>ExampleServlet</display-name>
<servlet-class>ExampleServlet</servlet-class>
</servlet>
<servlet-mapping id="ServletMapping_1">
<servlet-name>ExampleServlet</servlet-name>
<url-pattern>ExampleServlet</url-pattern>
</servlet-mapping>
两个id自己取名字。其中<servlet-class>ExampleServlet</servlet-class>里面的ExampleServlet如果有package要写全路径,比如:com.cn.ExampleServlet
html里面
<form method="post" action="/servlet/ExampServlet">
改成
<form method="post" action="ExampServlet">
WEBAPPS\MYWEB\WEB-INF目录下,也就是和classes同级
应该有个web.xml文件,每写个servlet都需要添加到里面
<servlet>
<servlet-name>ExampServlet</servlet-name>
<servlet-class>ExampServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ExampServlet</servlet-name>
<url-pattern>/ExampServlet</url-pattern>
</servlet-mapping>
自动启动的servlet需要在web.xml里面配置,才能在启动web servers的时候同时启动,比如以前做的数据库连接池的管理,记得就是写在web.xml里面的