我的tomcat的环境变量配置如下:
JAVA_HOME:C:\Program Files\Java\jdk1.6.0CATALINA_BASE:E:\Tomcat 5.0CATALINA_HOME:E:\Tomcat 5.0
TOMCAT_HOM:E:\Tomcat 5.0path:C:\Program Files\Java\jdk1.6.0\binclasspath:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;.;%JAVA_HOME%\lib\dt.jar; %JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet-api.jar
我测试jsp文件时,没有问题,但是测试servlet时总是报错,以下有一个例子:
fromHtml.html 此文件放在root目录下,如下:
<html>
<head>
<title>
a form html example
</title>
</head>
<body bgcolor="pink">
<form action="/doget" method="get">
input you name: <input type="text" name="myname"><br>
your loves: <select name="love">
<option value="sleep">Sleep</option>
<option value="dance">Dance</option>
<option value="travel">Travel</option>
</select><br>
<input type="submit" value="hand" name="submit">
<input type="reset" value="reset" name="submit">
</form>
</body>
</html>下面的是servlet文件
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class doForm extends HttpServlet
{
public void doPost(HttpServletRequest req,HttpServletResponse res)throws ServletException,
IOException
{
res.setContentType("text/html");
PrintWriter out=res.getWriter();
out.println("<html><head></head><body>");
out.println("name: "+req.getParameter("myname"));
out.println("<br>");
out.println("love: "+req.getParameter("love"));
out.println("</body></html>");
out.close();
}
public void doGet(HttpServletRequest req, HttpServletResponse res)throws ServletException,
IOException
{
doPost(req,res);
}
}
这个文件己经编译过了,而且没有问题,我把它的类文件放在了E:\Tomcat 5.0\webapps\ROOT\WEB-INF\classes目录下.
并且我修改了在
E:\Tomcat 5.0\webapps\ROOT\WEB-INF下的web.xml文件:在<wed-app>标签之间添加了以下代码:
<servlet>
<servlet-name>a</servlet-name>
<servlet-class>doForm</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>a</servlet-name>
<url-pattern>/doget</url-pattern>
</servlet-mapping>
但是通过浏览器访问http://localhost:8080/fromHtml.html
后,在表单中填写信息以后,提交后:
tomcat 出现如下的报错信息:HTTP Status 404 - /doget--------------------------------------------------------------------------------type Status reportmessage /dogetdescription The requested resource (/doget) is not available.
--------------------------------------------------------------------------------Apache Tomcat/5.0.28
JAVA_HOME:C:\Program Files\Java\jdk1.6.0CATALINA_BASE:E:\Tomcat 5.0CATALINA_HOME:E:\Tomcat 5.0
TOMCAT_HOM:E:\Tomcat 5.0path:C:\Program Files\Java\jdk1.6.0\binclasspath:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;.;%JAVA_HOME%\lib\dt.jar; %JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet-api.jar
我测试jsp文件时,没有问题,但是测试servlet时总是报错,以下有一个例子:
fromHtml.html 此文件放在root目录下,如下:
<html>
<head>
<title>
a form html example
</title>
</head>
<body bgcolor="pink">
<form action="/doget" method="get">
input you name: <input type="text" name="myname"><br>
your loves: <select name="love">
<option value="sleep">Sleep</option>
<option value="dance">Dance</option>
<option value="travel">Travel</option>
</select><br>
<input type="submit" value="hand" name="submit">
<input type="reset" value="reset" name="submit">
</form>
</body>
</html>下面的是servlet文件
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class doForm extends HttpServlet
{
public void doPost(HttpServletRequest req,HttpServletResponse res)throws ServletException,
IOException
{
res.setContentType("text/html");
PrintWriter out=res.getWriter();
out.println("<html><head></head><body>");
out.println("name: "+req.getParameter("myname"));
out.println("<br>");
out.println("love: "+req.getParameter("love"));
out.println("</body></html>");
out.close();
}
public void doGet(HttpServletRequest req, HttpServletResponse res)throws ServletException,
IOException
{
doPost(req,res);
}
}
这个文件己经编译过了,而且没有问题,我把它的类文件放在了E:\Tomcat 5.0\webapps\ROOT\WEB-INF\classes目录下.
并且我修改了在
E:\Tomcat 5.0\webapps\ROOT\WEB-INF下的web.xml文件:在<wed-app>标签之间添加了以下代码:
<servlet>
<servlet-name>a</servlet-name>
<servlet-class>doForm</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>a</servlet-name>
<url-pattern>/doget</url-pattern>
</servlet-mapping>
但是通过浏览器访问http://localhost:8080/fromHtml.html
后,在表单中填写信息以后,提交后:
tomcat 出现如下的报错信息:HTTP Status 404 - /doget--------------------------------------------------------------------------------type Status reportmessage /dogetdescription The requested resource (/doget) is not available.
--------------------------------------------------------------------------------Apache Tomcat/5.0.28
解决方案 »
- 关于resultset 封装调用 动态数组问题!
- 求一正则表达式,获得公式值[自己的正则太差了求助兄弟们]
- 。。。。。。。。。。。。。。。。。。网络通讯框架 Netty ,帮顶有分
- 找寻思路?大家请进
- 刚才的问题重新编辑后,高分求答案!
- 横向循环
- plsql
- 请问谁有 Jsp(内用Servlet做逻辑处理)的源码,有的话,请给小弟发一些。或者哪里有下的,告诉我。
- 问一下,resin和iis集成后class文件放在什么目录下
- 一张Jsp页面里内嵌了好几张Jsp页面,怎么去刷新指定的内嵌Jsp页面呢?
- java.lang.NullPointerException异常
- ajax + struts(急!在线等)
这样就行了
action里多了个"/"
action里多了个"/"
把它去掉2.给form起个名 name="起个名"3.给servlet文件加个包:
在第一句写 package servlet;4.把xml改一下
<servlet>
<servlet-name>a</servlet-name>
<servlet-class>doForm</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>a</servlet-name>
<url-pattern>/doget</url-pattern>
</servlet-mapping>
改成
<servlet>
<servlet-name>doform</servlet-name>
<servlet-class>servlet.doForm</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>doform</servlet-name>
<url-pattern>/doform</url-pattern>
</servlet-mapping>
这样写提交的URI有问题,改成<form action="<%=aplicationgetContextPath()%?>/doget" method="get">