我建了一个Web工程,分别写了一个jsp和servlet,但是进入jsp页面跳转到servlet时,就会报404错,求助

servlet代码如下:publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)thr... servlet代码如下:
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

response.setContentType("text/html");
//PrintWriter out = response.getWriter();
PrintWriter pw = response.getWriter();
pw.println(request.getParameter("param1"));
pw.println("<br>");
pw.println(request.getParameter("param2"));
pw.println("<br>");
pw.println(request.getParameter("param3"));
pw.println("<br>");
pw.flush();
pw.close();

web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>

<servlet-name>ThreeParams</servlet-name>
<servlet-class>ThreeParams</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>ThreeParams</servlet-name>
<url-pattern>/servlet/ThreeParams</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>

jsp代码如下:
<form method="post" action="/servlet/ThreeParams" name="ThreeParams">
<br>
param1:
<input type="text" name="param1" value=""><br>
param2:
<input type="text" name="param2" value=""><br>
param3:
<input type="text" name="param3" value=""><br>
<input type="submit" value="传送">
<input type="reset" value="清除">
</form>
展开
 我来答
gqch22
推荐于2016-02-24
知道答主
回答量:11
采纳率:0%
帮助的人:9.2万
展开全部

首先404错误时找不到你访问的主页,

在确认tomcat 启动的前提下:

1.action="/servlet/ThreeParams"  改为: action="/工程名/servlet/ThreeParams"

2.在servlet的dopost加入调用doget的代码

doGet(request,response);

3.修改body代码如下:

out.println("</BODY>");

request.setCharacterEncoding("utf-8");

out.println("param1:"+request.getParameter("param1")+"<br>");

out.println("param2:"+request.getParameter("param2")+"<br>");

out.println("param3:"+request.getParameter("param3")+"<br>");

out.println("</BODY>");

更多追问追答
追问
jsp代码报错。。。。我jsp代码要求是表格哦
追答
我都调试出来了,还有什么错呢,要是需要表格,body中的代码修改你编写的代码就可以了
简单月当头6
2012-04-06
知道答主
回答量:76
采纳率:0%
帮助的人:62.8万
展开全部
你的配置都有问题,<serverlet-class>这里是你serverlet类的完全限定名(就是包名.类名)</serverlet-class>你先把这个改了看看还有就是你的请求方式也有问题,你用的post请求怎么能去调用serverlet的doget方法呢.
追问
包是默认包,然后我加了dopost里边加了doget方法
追答
你jsp里面是发起的post请求所以他就会调用你serverlet里面的dopost方法,你在dopost方法里面调用doget方法没错,但是首先要成功调用到你的dopost方法啊。还有你配置文件是有问题,你改下,再看看。实在不行,你就不用手动写了,直接用myeclipse直接创建个serverlet,配置文件就不用你写了,直接在servlet里面写的代码就行了。

还有就是你访问的路径地址有问题,你看下你地址栏地址是否正确,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Zero_Dai
2012-04-06
知道答主
回答量:43
采纳率:0%
帮助的人:13.4万
展开全部
<servlet-name>ThreeParams</servlet-name>
<servlet-class>ThreeParams</servlet-class>
这个是要指定到类的绝对路径的。包名.类名的格式还有就是你jsp form method="post" 执行的servlet的doPost方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Diamond_ljl
2012-04-06
知道答主
回答量:14
采纳率:0%
帮助的人:12.7万
展开全部
路径问题,试下加绝对路径../servlet/ThreeParams
更多追问追答
追问
是用的绝对路径啊
追答
ThreeParams
这个类有包没
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f5dc56e00
2012-04-06 · 超过19用户采纳过TA的回答
知道答主
回答量:384
采纳率:0%
帮助的人:57万
展开全部
<form method="post" action="/servlet/ThreeParams" name="ThreeParams">

在/servlet/ThreeParams前面加上工程名。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式