数据没有插入到java servlet表中?

数据没有插入到java servlet表中?,java,servlets,Java,Servlets,我想找出这段代码的问题所在。当我填写表单并按下保存按钮时,页面会像刷新一样闪烁,不会出现错误和数据插入 我有一个工作表,它扩展了这个表上的类。我使用了多对一关系,所以我不知道错误在哪里 jsp文件输入 <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@page import="eshop.model.Categor

我想找出这段代码的问题所在。当我填写表单并按下保存按钮时,页面会像刷新一样闪烁,不会出现错误和数据插入

我有一个工作表,它扩展了这个表上的类。我使用了多对一关系,所以我不知道错误在哪里

jsp文件输入

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <%@page import="eshop.model.Category"%>
<%@page import="java.util.List"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<jsp:include page="header.jsp" /> 
<body>


${msg}
<div>
    <div style="float:left;width:200px">
        <jsp:include page="menu.jsp" />
    </div>
    <div style="float:left">


    <form action="ProductController"  method="post">
    <input type="hidden" name="action" value="add"/>

        <table>
        <tr>
            <td>Product ID</td>
            <td> 
                <input type="text" name="pid"/>
            </td>
        </tr>
            <tr>
                <td>Product Name</td>
                <td><input type="text" name="pname" /></td>
            </tr>
            <tr>
                <td>Category Id</td>
                <td>
                    <%
                 List<Category> aList = (List) request.getAttribute("clist");
                 %>
                 <select name="cat">
                 <%
                 for(Category c : aList){
                      %>
                      <option  value="<%out.println(c.getCatId());%>">
                      <%out.println(c.getCatName() ); %>
                      </option>
                      <%    }   %>                    
                    </select>                       
                </td>           
            </tr>
            <tr>
                <td>Supplier ID</td>
                <td><input type="text" name="sid" /></td>
            </tr>
            <tr>
                <td>Unit Price</td>
                <td><input type="text" name="up" /></td></tr>
            <tr>           
            <td>Quantity</td>
                <td><input type="text" name="qua"/></td>
            </tr>
            <tr>
            <td>Units in Stock</td>
            <td> <input type="text" name="uis"/></td>
            </tr>
            <tr>
            <td>Units on Order</td>
                <td> 
                <input type="text" name="uoo"/></td>
            </tr>
            <tr><td>Reorder</td>
                <td> 
                <input type="text" name="rol"/></td></tr>

            <tr>
                <td><input type="reset" value="Clear" /></td>
                <td><input type="submit"  value="save" /></td>
            </tr>
        </table>
    </form>
     </div>
     </div>
</body>
</html>
这是服务代码,我将其扩展到了用于其他表的base

public class ProductServices extends Base {
    public void addProduct(Products pro){
         save(pro);
    }

您应该使用响应设置响应对象,而不是请求对象

请参阅ProductController类中ProcessRequest()的最后几行


除非这是转发到另一个请求,因为它可能是(但我在这里看不到代码?

什么错误?没有错误,就像刷新一样。这一行添加到完整的servlet代码中:受保护的void doGet(HttpServletRequest-request,HttpServletResponse-response)抛出ServletException,IOException{processRequest(request,response);}受保护的void doPost(HttpServletRequest请求,HttpServletResponse响应)引发ServletException,IOException{processRequest(请求,响应);}由于条件(添加而不是保存操作)未设置clist。另外,您没有在jsp中显示您在请求中设置的消息。我已更新了代码..clist工作正常我从另一个表的下拉列表中获取数据问题是,当我选择dropdown并获取所有字段并按save时,数据会从字段中消失,而不显示任何错误!我没有看到它被更新,它仍然没有像在add块中那样被设置。查看下面的
}else if(action.equalsIgnoreCase(“save”){
并搜索clist。下拉列表依赖于此来填充。在clist中,我从数据库获取数据,并在下拉列表中将其获取到jsp页面,但在“save”中,我在插入时将其插入数据库shd display masg recored saved。
   @Entity
   @Table (name="products")

public class Products implements Serializable{
    @Id
    @Column(name="product_id")
    private int Pid;

    @Column(name="product_name")
    private String productName;

    @Column(name="supplierid")
    private int supplierId;

    @ManyToOne
    @JoinColumn(name="categoryid")
    private  Category catid;

    @Column(name="quantity_per_unit")
    private String quntitypunit;

    @Column(name="unit_price")
    private float unitPrice;

    @Column(name="unitinstock")
    private int unitsInStock;

    @Column(name="unitonorder")
    private int unitsOnOrder;

    @Column(name="reorderlevel")
    private int reorderLevel;



    public String getProductName() {
        return productName;
    }
    public void setProductName(String productName) {
        this.productName = productName;
    }
    public int getSupplierId() {
        return supplierId;
    }
    public void setSupplierId(int supplierId) {
        this.supplierId = supplierId;
    }
    public Category getCatid() {
        return catid;
    }
    public void setCatid(Category catid) {
        this.catid = catid;
    }
    public String getQuntitypunit() {
        return quntitypunit;
    }
    public void setQuntitypunit(String quntitypunit) {
        this.quntitypunit = quntitypunit;
    }
    public float getUnitPrice() {
        return unitPrice;
    }
    public void setUnitPrice(float unitPrice) {
        this.unitPrice = unitPrice;
    }
    public int getUnitsInStock() {
        return unitsInStock;
    }
    public void setUnitsInStock(int unitsInStock) {
        this.unitsInStock = unitsInStock;
    }
    public int getUnitsOnOrder() {
        return unitsOnOrder;
    }
    public void setUnitsOnOrder(int unitsOnOrder) {
        this.unitsOnOrder = unitsOnOrder;
    }
    public int getReorderLevel() {
        return reorderLevel;
    }
    public void setReorderLevel(int reorderLevel) {
        this.reorderLevel = reorderLevel;
    }

    public int getPid() {
        return Pid;
    }
    public void setPid(int pid) {
        Pid = pid;
    }   

}
public class ProductServices extends Base {
    public void addProduct(Products pro){
         save(pro);
    }