java web通过表单向数据库提交信息时对异常数据的处理

java web通过表单向数据库提交信息时对异常数据的处理

  我再次写了对两种异常的处理,第一种是对于空数据(null)的处理,第二种是对于数据长度的处理。

  1.request.getParameter("grade1")!=null获取的数据非空。

  2.request.getParameter("grade1").trim().length()>0对于获取的信息,去除空格之后的长度>0。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!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>
</head>
<body>
<form action="02a.jsp" method="post"><%//创建表单传输数据 %>
<p>请选择想要查询的分数范围</p>
<hr>
最低成绩:&nbsp;<input type="text" name="grade1"><br><br>
最高成绩:&nbsp;<input type="text" name="grade2"><br><br>
<input type="submit" value="提交信息">
</form><br>
<a href="http://localhost:8080/java第六周/01a.jsp">分数范围查询</a>&nbsp;<%//通过网页完成与其他三个页面的联通 %>
<a href="http://localhost:8080/java第六周/01b.jsp">插入信息</a>&nbsp;
<a href="http://localhost:8080/java第六周/01c.jsp">序号删除</a>&nbsp;
<a href="http://localhost:8080/java第六周/01d.jsp">修改成绩</a>
</body>
</html>

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@ page import="java.sql.*" %>
<!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>
</head>
<body>
<%
String driver="com.mysql.jdbc.Driver";
String url1="jdbc:mysql://localhost:3306/aaa";
String url2="?user=root&password=2411030483";
String url3="&useUnicode=true&characterEncoding=UTF-8";
String url=url1+url2+url3;
Class.forName(driver);
Connection conn=DriverManager.getConnection(url);//实现注册驱动并建立数据库的连接
String sql="select id,name,grade from biao1 where grade>=? and grade<=?;";//写出对数据库的操作语句,?表示占位符
%>
<%
if(request.getParameter("grade1")!=null&&request.getParameter("grade1").trim().length()>0&&request.getParameter("grade2")!=null&&
request.getParameter("grade2").trim().length()>0){
String grade1=request.getParameter("grade1");//通过表单获取数据
String grade2=request.getParameter("grade2");
int gd1=Integer.parseInt(grade1);
int gd2=Integer.parseInt(grade2);//将数据转换为相应类型
PreparedStatement pstmt=conn.prepareStatement(sql);//对象
pstmt.setInt(1, gd1);//将第一个占位符赋值
pstmt.setInt(2, gd2);
ResultSet rs=pstmt.executeQuery();//执行select,返回一个结果集
rs.last();
%>
你要查询的共有<%=rs.getRow()%>人
<table border="2" width="650"><%//建立表格,显示数据 %>
<tr>
<td>记录条数</td>
<td>学号</td>
<td>姓名</td>
<td>分数</td>
</tr>
<%
rs.beforeFirst();//将信息放入表格
while(rs.next()){
%><tr>
<td><%=rs.getRow()%></td>
<td><%=rs.getString("id")%></td>
<td><%=rs.getString("name")%></td>
<td><%=rs.getInt("grade")%></td>
</tr>
<%} %>
</table>
<%
rs.close();//释放资源,后创建的先释放
pstmt.close();
conn.close();
}
else
out.println("输入异常");
conn.close();
%>
</body>
</html>

猜你喜欢

转载自blog.csdn.net/qq_43238335/article/details/105322328
今日推荐