JSP代碼:
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>入庫申請</title>
<link href ="favicon.ico" rel="shortcut icon">
<link rel="stylesheet" href="https://bbs.csdn.net/topics/css/regist.css">
</head>
<body>
<div id="reg_header">
<div class="reg_hcenter">
<div class="reg_hleft">
<img src="https://img.uj5u.com/2020/09/24/129878240725461.jpg" >
<h4>入庫申請</h4>
</div>
</div>
</div>
<div id="reg_content">
<div class="reg_conleft">
<form action="/warehouse/ApplyServlet" id="reg_form" method="post" >
<div class="userName">
<label>貨物歸屬者(用戶名)</label>
<input type="text" placeholder="請輸入用戶名" id="username" name="username">
</div>
<div class="goodsname">
<label>物資名稱</label>
<input type="text" placeholder="請輸入物資名稱" id="gname" name="gname">
</div>
<div class="goodsamount">
<label>物資數量</label>
<input type="text" placeholder="請再次輸入物資數量" id="amount" name="amount">
</div>
<div class="goodsstatus">
<label>物資狀態(申請中)</label>
<input type="text" readonly id="status" name="status" value="https://bbs.csdn.net/topics/apply">
</div>
<div class="goodssafe">
<label>物資檢查(經規定本項必須)</label>
<input type="text" readonly id="safe" name="safe" value="https://bbs.csdn.net/topics/是">
</div>
<div class="goodstype">
<label>物資型別</label>
<select class = "type" name ="type" id="type">
<option value="https://bbs.csdn.net/topics/食品">食品</option>
<option value="https://bbs.csdn.net/topics/服裝鞋帽">服裝鞋帽</option>
<option value="https://bbs.csdn.net/topics/建筑材料">建筑材料</option>
<option value="https://bbs.csdn.net/topics/化學用品">化學用品</option>
<option value="https://bbs.csdn.net/topics/冷藏物資">冷藏物資</option>
<option value="https://bbs.csdn.net/topics/其他">其他</option>
</select>
</div>
<div class="sub_button">
<input type="button" value="https://bbs.csdn.net/topics/提交申請" onclick="check()">
</div>
</form>
</div>
<div class="reg_conright">
<img src="https://img.uj5u.com/2020/09/24/129878240725462.jpg" >
</div>
</div>
<script type="text/javascript">
function check(){
var username =document.getElementById("username");
var gname =document.getElementById("gname");
var amount =document.getElementById("amount");
var type =document.getElementById("type");
if(username.valuehttps://bbs.csdn.net/topics/==""){
alert("請輸入用戶名");
return;
}
if(gname.valuehttps://bbs.csdn.net/topics/==""){
alert("請輸入物資名稱");
return;
}
if(amount.valuehttps://bbs.csdn.net/topics/==""){
alert("請輸入物資數量");
return;
}
}
</script>
</body>
</html>
Servlet代碼:
package com.warehouse.servlet;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.sql.SQLException;
import java.util.Map;
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 org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.dbutils.QueryRunner;
import com.warehouse.main.Apply;
import com.warehouse.util.jdbcUtil;
@WebServlet("/ApplyServlet")
public class ApplyServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charest=utf-8");
response.setHeader("content-type", "text/html;charset=UTF-8");
Map<String,String[]> paraneterMap = request.getParameterMap();
Apply u = new Apply();
try {
BeanUtils.populate(u, paraneterMap);
} catch (IllegalAccessException | InvocationTargetException e) {
e.printStackTrace();
}
QueryRunner qr = new QueryRunner(jdbcUtil.getDataSource());
String sql ="insert into applygoods(username,gname,amount,status,intime,type) value(?,?,?,'apply',now(),?)";
try {
qr.update(sql,u.getUsername(),u.getGname(),u.getAmount(),u.getType());
} catch (SQLException e) {
e.printStackTrace();
}
response.setHeader("refresh", "1.5;url=/warehouse/user.jsp");
}
}
uj5u.com熱心網友回復:
<input type="button" value="https://bbs.csdn.net/topics/提交申請" onclick="check()"> 改成<input type="submit" value="https://bbs.csdn.net/topics/提交申請"> 你check方法只是判斷 沒向后臺提交請求
uj5u.com熱心網友回復:
<input type="button" value="https://bbs.csdn.net/topics/提交申請" onclick="check()"> button只是單純的點擊,你這個是<form >表單就要使用submit來進行提交表單,uj5u.com熱心網友回復:
這個代碼是直接拷貝一個相似的頁面然后就改了改input的name 那一個頁面用的button可以提交上去的。。。 頭疼
改成submit我試過了。。 直接報錯了
Servlet.service() for servlet [com.warehouse.servlet.ApplyServlet] in context with path [/warehouse] threw exception [Servlet execution threw an exception] with root cause
java.lang.ClassNotFoundException: org.apache.commons.collections.FastHashMap
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1951)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1794)
at org.apache.commons.beanutils.PropertyUtilsBean.getPropertyDescriptor(PropertyUtilsBean.java:964)
at org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:935)
at org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:823)
at org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:431)
at com.warehouse.servlet.ApplyServlet.service(ApplyServlet.java:37)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:165)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:1025)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:452)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1195)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:654)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:319)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
uj5u.com熱心網友回復:
那個用button提交的話,是把向后端發送資料的部分寫在js里了吧,,正常js里判斷input標簽為空什么的,不是交給form的onSubmit事件么,,
uj5u.com熱心網友回復:
按鈕系結check()方法,就不會自己提交了,要么自己手動跳轉加引數,要不呼叫表單提交。在方法里加入document.getElementById("reg_form").submit();
uj5u.com熱心網友回復:
提交出錯是虛擬目錄不對 這樣<form action="/ApplyServlet" 要這樣。uj5u.com熱心網友回復:
怎么沒引jqeryuj5u.com熱心網友回復:
你是不是在Servlet里定義過url,又在web. xml檔案里又注冊了url?轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/117479.html
標籤:Web 開發
上一篇:雙層for回圈運行時間問題
