如果直接在sevlet里面写插入明确的值就可以
感觉是request.getParameter无法获取值,导致数据库一直为空
大神求解!!!
非常困扰
AddMessage.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="bean.StudentInfoBean" %>
<!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=UTF-8">
<title>学生录入</title>
<script src="http://cdn.static.runoob.com/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="http://static.runoob.com/assets/jquery-validation-1.14.0/lib/jquery.js"></script>
<script src="http://static.runoob.com/assets/jquery-validation-1.14.0/dist/jquery.validate.min.js"></script>
<script src="http://static.runoob.com/assets/jquery-validation-1.14.0/dist/localization/messages_zh.js"></script>
<script type="text/javascript">
$.validator.setDefaults({
submitHandler:function(){
alert("提交事件成功!");
}
});
$().ready(function() {
$("#studentform").validate({
rules:{
id:{
required:true,
maxlength:4,
minlength:4,
digits:true
},
name:"required",
institute:"required",
professional:"required",
},
messages:{
id:"请输入正确的四位数学号"
}
});
});
</script>
</head><body>
<div >
<ul class="nav">
<li><a href="AddMessage.jsp">学生录入</a></li>
<li><a href="AddWorkTime.jsp">工时录入</a></li>
<li><a href="TimeManage.jsp">工时管理</a></li>
<li><a href="DetailMessage.jsp">详细信息</a></li>
</ul>
</div>
<div id="div2">
<form id="studentform" method="post" action="AddInfoServlet">
<fieldset id="fieldset1">
<legend>学生信息</legend>
<p>
<label class="label2">学号(4位):</label>
<input type="text" name="id" align="left">
</p>
<p>
<label class="label2">学生姓名:</label>
<input type="text" name="name" align="left">
</p>
<p>
<label class="label1">性别:</label>
<input type="radio" name="sex" value="male" checked>男
<input type="radio" name="sex" value="female" align="left">女 </p>
<p>
<label class="label1">入学年份:</label>
<select name="year" >
<option value="2014">2014</option>
<option value="2015">2015</option>
<option value="2016">2016</option>
<option value="2017">2017</option>
<option value="2018">2018</option>
<option value="2019">2019</option>
<option value="2020">2020</option>
</select>
</p>
<p>
<label class="label2">学院:</label>
<input type="text" name="institute" align="left">
</p>
<p>
<label class="label2">专业:</label>
<input type="text" name="professional" align="left">
</p>
<p>
<label class="label1">贫困等级:</label>
<select name="level" >
<option value="poor">贫困</option>
<option value="hard">特困</option>
</select>
</p>
<div id="btn">
<input type="submit" value="提交" class="btn" onclick="check()">
</div>
</fieldset>
</form>
</div></body>
</html>AddInfoServlet.JSP
package servlet;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import bean.StudentInfoBean;public class AddInfoServlet extends HttpServlet{
private static final long serialVersionUID=1L;
public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException {
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
try {
insert(request,response);
}
catch (ClassNotFoundException e) {
e.printStackTrace();
}
catch (SQLException e) {
e.printStackTrace();
}
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
public Connection connect() throws ClassNotFoundException, SQLException {
Connection conn=null;
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/11?useSSL=false&useUnicode=true&characterEncoding=UTF-8",
"root", "root");
return conn;
}
public void insert(HttpServletRequest request, HttpServletResponse response) throws ClassNotFoundException, SQLException{
Connection conn=null;
Statement stat=null;
int year=Integer.parseInt(request.getParameter("year"));
int id=Integer.parseInt(request.getParameter("id"));
String name=request.getParameter("name");
String sex=request.getParameter("sex");
String ins=request.getParameter("institute");
String pro=request.getParameter("professional");
String level=request.getParameter("level");
StudentInfoBean bean=new StudentInfoBean(id,name,sex,year,ins,pro,level);
conn=connect();
stat=conn.createStatement();
stat.executeUpdate("INSERT INTO student(sid,sname,sex,syear,sins,spro,slevel) VALUES ('"+bean.getSid()+"','"+bean.getSname()+"','"+bean.getSsex()+"','"+bean.getSyear()+"','"+bean.getSins()+"','"+bean.getSpro()+"','"+bean.getSlevel()+"' )");
close(stat,conn);
}
public void close(Statement stat,Connection conn) throws SQLException{
if(stat!=null){
stat.close();
}
if(conn!=null){
conn.close();
}
}
}
WEB.xml
感觉是request.getParameter无法获取值,导致数据库一直为空
大神求解!!!
非常困扰
AddMessage.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="bean.StudentInfoBean" %>
<!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=UTF-8">
<title>学生录入</title>
<script src="http://cdn.static.runoob.com/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="http://static.runoob.com/assets/jquery-validation-1.14.0/lib/jquery.js"></script>
<script src="http://static.runoob.com/assets/jquery-validation-1.14.0/dist/jquery.validate.min.js"></script>
<script src="http://static.runoob.com/assets/jquery-validation-1.14.0/dist/localization/messages_zh.js"></script>
<script type="text/javascript">
$.validator.setDefaults({
submitHandler:function(){
alert("提交事件成功!");
}
});
$().ready(function() {
$("#studentform").validate({
rules:{
id:{
required:true,
maxlength:4,
minlength:4,
digits:true
},
name:"required",
institute:"required",
professional:"required",
},
messages:{
id:"请输入正确的四位数学号"
}
});
});
</script>
</head><body>
<div >
<ul class="nav">
<li><a href="AddMessage.jsp">学生录入</a></li>
<li><a href="AddWorkTime.jsp">工时录入</a></li>
<li><a href="TimeManage.jsp">工时管理</a></li>
<li><a href="DetailMessage.jsp">详细信息</a></li>
</ul>
</div>
<div id="div2">
<form id="studentform" method="post" action="AddInfoServlet">
<fieldset id="fieldset1">
<legend>学生信息</legend>
<p>
<label class="label2">学号(4位):</label>
<input type="text" name="id" align="left">
</p>
<p>
<label class="label2">学生姓名:</label>
<input type="text" name="name" align="left">
</p>
<p>
<label class="label1">性别:</label>
<input type="radio" name="sex" value="male" checked>男
<input type="radio" name="sex" value="female" align="left">女 </p>
<p>
<label class="label1">入学年份:</label>
<select name="year" >
<option value="2014">2014</option>
<option value="2015">2015</option>
<option value="2016">2016</option>
<option value="2017">2017</option>
<option value="2018">2018</option>
<option value="2019">2019</option>
<option value="2020">2020</option>
</select>
</p>
<p>
<label class="label2">学院:</label>
<input type="text" name="institute" align="left">
</p>
<p>
<label class="label2">专业:</label>
<input type="text" name="professional" align="left">
</p>
<p>
<label class="label1">贫困等级:</label>
<select name="level" >
<option value="poor">贫困</option>
<option value="hard">特困</option>
</select>
</p>
<div id="btn">
<input type="submit" value="提交" class="btn" onclick="check()">
</div>
</fieldset>
</form>
</div></body>
</html>AddInfoServlet.JSP
package servlet;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import bean.StudentInfoBean;public class AddInfoServlet extends HttpServlet{
private static final long serialVersionUID=1L;
public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException {
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
try {
insert(request,response);
}
catch (ClassNotFoundException e) {
e.printStackTrace();
}
catch (SQLException e) {
e.printStackTrace();
}
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
public Connection connect() throws ClassNotFoundException, SQLException {
Connection conn=null;
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/11?useSSL=false&useUnicode=true&characterEncoding=UTF-8",
"root", "root");
return conn;
}
public void insert(HttpServletRequest request, HttpServletResponse response) throws ClassNotFoundException, SQLException{
Connection conn=null;
Statement stat=null;
int year=Integer.parseInt(request.getParameter("year"));
int id=Integer.parseInt(request.getParameter("id"));
String name=request.getParameter("name");
String sex=request.getParameter("sex");
String ins=request.getParameter("institute");
String pro=request.getParameter("professional");
String level=request.getParameter("level");
StudentInfoBean bean=new StudentInfoBean(id,name,sex,year,ins,pro,level);
conn=connect();
stat=conn.createStatement();
stat.executeUpdate("INSERT INTO student(sid,sname,sex,syear,sins,spro,slevel) VALUES ('"+bean.getSid()+"','"+bean.getSname()+"','"+bean.getSsex()+"','"+bean.getSyear()+"','"+bean.getSins()+"','"+bean.getSpro()+"','"+bean.getSlevel()+"' )");
close(stat,conn);
}
public void close(Statement stat,Connection conn) throws SQLException{
if(stat!=null){
stat.close();
}
if(conn!=null){
conn.close();
}
}
}
WEB.xml
<script type="text/javascript">
$.validator.setDefaults({
submitHandler:function(){
alert("提交事件成功!");
form.submit(); //提交按钮,不提交后台怎么接受?
}
});
$().ready(function() {
$("#studentform").validate({
rules:{
id:{
required:true,
maxlength:4,
minlength:4,
digits:true
},
name:"required",
institute:"required",
professional:"required",
},
messages:{
id:"请输入正确的四位数学号"
}
});
});
</script>另外你指定的是post请求 你把方法放在insert里是取不到的
2,form换成get试试
<input type="submit" value="提交" class="btn" onclick="check()">
</div>改成 <div id="btn">
<input type="button" value="提交" class="btn" onclick="check()">
</div>,另外这个input不用div包起来也行。