HTTP Status 404 – 未找到,请老师看看哪里出错

来源:3-3 综合训练-实现新增员工功能

csm032

2020-02-02 23:38:37

Java类                                                                                                      

package com.imooc.employee;


public class Employee {

private Integer empno;

private String ename;

private String department;

private String job;

private Float salary;


public Employee(Integer empno, String ename, String department, String job, Float salary) {

super();

this.empno = empno;

this.ename = ename;

this.department = department;

this.job = job;

this.salary = salary;

}


public Integer getEmpno() {

return empno;

}


public void setEmpno(Integer empno) {

this.empno = empno;

}


public String getEname() {

return ename;

}


public void setEname(String ename) {

this.ename = ename;

}


public String getDepartment() {

return department;

}


public void setDepartment(String department) {

this.department = department;

}


public String getJob() {

return job;

}


public void setJob(String job) {

this.job = job;

}


public Float getSalary() {

return salary;

}


public void setSalary(Float salary) {

this.salary = salary;

}


}

ListServlet                                                                         

package com.imooc.employee;


import java.io.IOException;

import java.util.ArrayList;

import java.util.List;


import javax.servlet.ServletContext;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;


/**

 * Servlet implementation class ListServlet

 */

@WebServlet("/list")

public class ListServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

       

    /**

     * @see HttpServlet#HttpServlet()

     */

    public ListServlet() {

        super();

        // TODO Auto-generated constructor stub

    }


/**

* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)

*/

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

ServletContext context=request.getServletContext();

if(request.getAttribute("employees")==null) {

List list=new ArrayList();

Employee emp=new Employee(7731,"刘志敏","市场部","客户代表",10000f);

list.add(emp);

list.add(new Employee(8871,"张倩","研发部","运维工程师",8000f));

context.setAttribute("employees",list );

}

request.getRequestDispatcher("/employee.jsp").forward(request, response);

}


}

CreateServlet                                                                          

package com.imooc.employee;


import java.io.IOException;

import java.util.List;

import java.util.ArrayList;


import javax.servlet.ServletContext;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;


/**

 * Servlet implementation class CreatServlet

 */

@WebServlet("/creat")

public class CreatServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

       

    /**

     * @see HttpServlet#HttpServlet()

     */

    public CreatServlet() {

        super();

        // TODO Auto-generated constructor stub

    }


/**

* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)

*/

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

request.setCharacterEncoding("UTF-8");

response.setCharacterEncoding("UTF-8");

response.setContentType("UTF-8");

String empno=request.getParameter("empno");

String ename=request.getParameter("ename");

String department=request.getParameter("department");

String job=request.getParameter("job");

String salary=request.getParameter("salary");

System.out.println(empno);

Employee emp=new Employee(Integer.parseInt(empno),empno,department,job,Float.parseFloat(salary));

ServletContext context=request.getServletContext();

List employees=(List)context.getAttribute("employees");

employees.add(emp);

context.setAttribute("employees", employees);

request.getRequestDispatcher("/employee.jsp").forward(request, response);

}


}

employee.jsp                                                                      

<%@page contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width,initial-scale=1">

    <title>员工列表</title>

    <link href="css/bootstrap.css" type="text/css" rel="stylesheet"></link>

    

    <script type="text/javascript" src="js/jquery-1.11.1.min.js"></script>

    <script type="text/javascript" src="js/bootstrap.js"></script>


    <style type="text/css">

        .pagination {

            margin: 0px

        }


        .pagination > li > a, .pagination > li > span {

            margin: 0 5px;

            border: 1px solid #dddddd;

        }


        .glyphicon {

            margin-right: 3px;

        }


        .form-control[readonly] {

            cursor: pointer;

            background-color: white;

        }

        #dlgPhoto .modal-body{

            text-align: center;

        }

        .preview{


            max-width: 500px;

        }

    </style>

    <script>

        $(function () {

            

            $("#btnAdd").click(function () {

                $('#dlgForm').modal()

            });

        })



    </script>

</head>

<body>


<div class="container">

    <div class="row">

        <h1 style="text-align: center">IMOOC员工信息表</h1>

        <div class="panel panel-default">

            <div class="clearfix panel-heading ">

                <div class="input-group" style="width: 500px;">

                    <button class="btn btn-primary" id="btnAdd"><span class="glyphicon glyphicon-zoom-in"></span>新增

                    </button>

                </div>

            </div>


            <table class="table table-bordered table-hover">

                <thead>

                <tr>

                    <th>序号</th>

                    <th>员工编号</th>

                    <th>姓名</th>

                    <th>部门</th>

                    <th>职务</th>

                    <th>工资</th>

                    <th>&nbsp;</th>

                </tr>

                </thead>

                <tbody>

                <c:forEach items="${applicationScope.employees}" var="emp" varStatus="idx">

                <tr>

                    <td>${idx.index+1 }</td>

                    <td>${emp.empno }</td>

                    <td>${emp.ename }</td>

                    <td>${emp.department }</td>

                    <td>${emp.job }</td>

                    <td style="color: red;font-weight: bold">¥<fmt:formatNumber value="${emp.salary }" pattern="0,000.00"></fmt:formatNumber></td>                    

                </tr>

                </c:forEach>

                </tbody>

            </table>

        </div>

    </div>

</div>


<!-- 表单 -->

<div class="modal fade" tabindex="-1" role="dialog" id="dlgForm">

    <div class="modal-dialog" role="document">

        <div class="modal-content">

            <div class="modal-header">

                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span>

                </button>

                <h4 class="modal-title">新增员工</h4>

            </div>

            <div class="modal-body">

                <form action="/employee/create" method="post" >

                    <div class="form-group">

                        <label for="empno">员工编号</label>

                        <input type="text" name="empno" class="form-control" id="empno" placeholder="请输入员工编号">

                    </div>

                    <div class="form-group">

                        <label for="ename">员工姓名</label>

                        <input type="text" name="ename" class="form-control" id="ename" placeholder="请输入员工姓名">

                    </div>

                    <div class="form-group">

                        <label>部门</label>

                        <select id="dname" name="department" class="form-control">

                            <option selected="selected">请选择部门</option>

                            <option value="市场部">市场部</option>

                            <option value="研发部">研发部</option>

                        <option value="后勤部">后勤部</option>

                        </select>

                    </div>


                    <div class="form-group">

                        <label>职务</label>

                        <input type="text" name="job" class="form-control" id="sal" placeholder="请输入职务">

                    </div>


                    <div class="form-group">

                        <label for="sal">工资</label>

                        <input type="text" name="salary" class="form-control" id="sal" placeholder="请输入工资">

                    </div>


                    <div class="form-group" style="text-align: center;">

                        <button type="submit" class="btn btn-primary">保存</button>

                    </div>

                </form>

            </div>


        </div><!-- /.modal-content -->

    </div><!-- /.modal-dialog -->

</div><!-- /.modal -->



</body>

</html>

运行效果:                                                     

http://img.mukewang.com/climg/5e36ece708b87e4f09970251.jpg


写回答

1回答

好帮手慕酷酷

2020-02-03

同学你好,根据报错信息,出现404,一般是访问路径编写错误,根据同学的代码,employee.jsp页面表单提交action的映射地址为:employee项目下的create地址,而CreatServlet中所映射的地址为creat,导致无法找到对应映射路径。

具体如下:

http://img.mukewang.com/climg/5e37928f09d1ae1006790144.jpg


http://img.mukewang.com/climg/5e3792f6099e7e0205550131.jpg

修改建议:建议同学将employee.jsp页面表单提交action的映射地址修改为与Servlet相同的地址,也就是“/employee/creat”具体如下:

http://img.mukewang.com/climg/5e3793470973ece207080123.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

0

0 学习 · 9666 问题

查看课程