鱼C论坛

 找回密码
 立即注册
查看: 4957|回复: 5

[已解决]web开发出现404错误,快奔溃了,求指点!!不胜感激!!

[复制链接]
发表于 2019-10-1 18:10:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
用户调查页面index.jap
index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
      <meta charset="utf-8">
    <title>问卷调查</title>
  </head>
  <body>
<h4>问卷调查页面</h4>
<div style="text-align: center;">
<form action="=servlet" method="post">
     <table>
         <tr><td>你的职业:</td><td><input type="text" name="job"></td></tr>
         <tr><td>你的兴趣爱好:</td>
             <td><input type="checkbox" name="hobby" value="sport">体育运动
                 <input type="checkbox" name="hobby" value="travel">旅游
                 <input type="checkbox" name="hobby" value="movie">看电影
                 <input type="checkbox" name="hobby" value="books">看书
                 <input type="checkbox" name="hobby" value="computer game">电脑游戏</td></tr>
         <tr><td>你的月收入:</td>
             <td><select name="salary">
                 <option value="5000">5000</option>
                 <option value="6000">6000</option>
                 <option value="7000">7000</option>
                 <option value="8000">8000</option>
                 <option value="9000">9000</option>
                 <option value="10000">10000</option>
             </select>
             </td></tr>
         <tr><td>你工作的城市:</td>
             <td><input type="radio" name="working_city" value="beishangguangshen">北上广深
                 <input type="radio" name="working_city" value="shenghuichengshi">省会城市
                 <input type="radio" name="working_city" value="other">其他
             </td></tr>
         <tr><td><input type="submit" name="submit" value="提交"></td>
             <td><input type="reset" nmae="reset" value="重置"></td></tr>
     </table>
</form>
</div>
  </body>
</html>


第一个服务器,用来请求转发到第二个服务器
Servlet.java


package myServlet;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class Servlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setCharacterEncoding("utf-8");         //设置服务器端编码
        response.setContentType("text/html;charset=utf-8");
        String job=request.getParameter("job");
        String[] hobbys=request.getParameterValues("hobby");
        String salary=request.getParameter("salary");
        String working_city=request.getParameter("working_city");
        request.setAttribute("job",job);
        request.setAttribute("hobbys",hobbys);
        request.setAttribute("salary",salary);
        request.setAttribute("working_city",working_city);
        RequestDispatcher rd=request.getRequestDispatcher("secondservlet");
        rd.forward(request,response);
    }

}

第二个服务器
SecondServlet.java
package myServlet;
//java.servlet包,定义了开发与协议无关的servlet的接口和类
import javax.servlet.ServletException;
//Java.servlet.annotation包:定义了注解类型和枚举类型
import javax.servlet.annotation.WebServlet;
//java.servlet.http包,定义了开发采用http协议通信的servlet的接口和类
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import java.io.IOException;
import java.io.PrintWriter;


public class SecondServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
    private static final String TITLE="问卷调查结果";
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out= response.getWriter();
        out.println("<!DOCTYPE html>");
        out.println("<html><head>");
        out.println("<meta charset=\"utf-8\">");
        out.println("<title>"+TITLE+"</title></head>");
        out.println("<body><h4>"+TITLE+"</h4>");
        out.println("<table>");
        out.println("<tr><td>职业:</td>");
        out.println("<td>"+request.getAttribute("job")+"</td></tr>");
        out.println("<tr><td>兴趣爱好:</td>");
        out.println("<td>");
        if(request.getAttribute("hobbys")!=null) {
            out.println(request.getAttribute("hobbys")+"<br/>");
        }
        out.println("</td></tr>");
        out.println("<tr><td>月收入:</td>");
        out.println("<td>"+request.getAttribute("salary")+"</td></tr>");
        out.println("<tr><td>工作的城市:</td>");
        out.println("<td>"+request.getAttribute("working_city")+"</td></tr>");
        out.println("</table>");
        out.println("</body>");
        out.println("</html>");
        out.close();
    }
    }


web.xml
<?xml version="1.0" encoding="UTF-8"?>
<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">
    <display-name>MyIdeaProject</display-name>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
    <servlet>
        <servlet-name>Servlet</servlet-name>
        <servlet-class>myServlet.Servlet</servlet-class>
    </servlet>
    <servlet>
        <servlet-name>SecondServlet</servlet-name>
        <servlet-class>myServlet.SecondServlet</servlet-class>
    </servlet>
   
    <servlet-mapping>
        <servlet-name>Servlet</servlet-name>
        <url-pattern>/servlet</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>SecondServlet</servlet-name>
        <url-pattern>/secondservlet</url-pattern>
    </servlet-mapping>
</web-app>

最佳答案
2019-11-27 19:45:31
404表示路径错误
index.jsp 的 form标签中的action="=servlet"写错了吧,应该是 action="servlet"
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-10-1 18:14:03 | 显示全部楼层
本帖最后由 声声慢boom 于 2019-10-1 18:16 编辑

在线等回复
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-1 18:17:51 | 显示全部楼层

错误显示如下:

HTTP Status 404 – 未找到


Type Status Report

消息 /MyIdeaProjects_war_exploded/=servlet

描述 源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示。


Apache Tomcat/9.0.26
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-1 18:20:48 | 显示全部楼层
index.jsp的页面能正常出来,但是写入数据点击提交后就出现404错误了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-27 18:38:35 | 显示全部楼层
404要不是路径错误,要不就是报错了,程序中断没有给容器返回数据。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-27 19:45:31 | 显示全部楼层    本楼为最佳答案   
404表示路径错误
index.jsp 的 form标签中的action="=servlet"写错了吧,应该是 action="servlet"
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-23 01:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表