📄
字号:
showByPage.jsp:(效果如图5.28所示)
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<HTML>
<BODY>
<%! int pageSize=3; //每页显示的记录数。
int pageCount=0; //分页后的总页数。
%>
<%-- 客户通过表单提交欲要显示的页码数--%>
<FORM action="" method=get >
输入页码数<Input Type=text name=showPage size=4 >
<Input Type=submit name=g value=提交>
</FORM>
<% Connection con;
Statement sql;
ResultSet rs;
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){}
try { con=DriverManager.getConnection("jdbc:odbc:sun","sa","");
sql=
con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
//返回可滚动的结果集:
rs=sql.executeQuery("SELECT * FROM students");
//将游标移动到最后一行:
rs.last();
//获取最后一行的行号:
int lastRow=rs.getRow();
//计算分页后的总页数:
pageCount=(lastRow%pageSize==0)?(lastRow/pageSize):(lastRow/pageSize+1);
//当前显示的初始页数:
int showPage=1;
//告知客户总页数:
%>
<P> 共有<%=pageCount%>页
<BR>每页显示<%=pageSize%>条记录.
<% //获取客户想要显示的页数:
String integer=request.getParameter("showPage");
if(integer==null)
{ integer="1";
}
try {showPage=Integer.parseInt(integer);
}
catch(NumberFormatException e)
{showPage=1;
}
if(showPage<=1)
{showPage=1;
}
if(showPage>=pageCount)
{showPage=pageCount;
}
%>
<BR>目前显示第<%=showPage%>页
<% //如果要显示第showPage页,那么游标应移到posion的值是:
int posion=(showPage-1)*pageSize+1;
rs.absolute(posion); // 设置游标的位置
out.print("<Table Border>");
out.print("<TR>");
out.print("<TH width=100>"+"学号");
out.print("<TH width=100>"+"姓名");
out.print("<TH width=50>"+"数学成绩");
out.print("<TH width=50>"+"英语成绩");
out.print("<TH width=50>"+"物理成绩");
out.print("</TR>");
for (int i=1;i<=pageSize;i++)
{ out.print("<TR>");
out.print("<TD >"+rs.getString(1)+"</TD>");
out.print("<TD >"+rs.getString(2)+"</TD>");
out.print("<TD >"+rs.getInt("数学成绩")+"</TD>");
out.print("<TD >"+rs.getInt("英语成绩")+"</TD>");
out.print("<TD >"+rs.getInt("物理成绩")+"</TD>");
out.print("</TR>") ;
rs.next();
}
out.print("</Table>");
con.close();
}
catch(SQLException e1) {}
%>
</BODY>
</HTML>
例子11(效果如图5.29所示)
Example5_11.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<HTML>
<BODY>
<% Connection con=null;
Statement sql=null;
ResultSet rs=null;
try{Class.forName("oracle.jdbc.driver.OracleDriver");
}
catch(ClassNotFoundException e){}
try
{ con=
DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.35:1521:Lea","scott","tiger");
sql=con.createStatement();
rs=sql.executeQuery("select * from emp");
out.print("<Table Border>");
out.print("<TR>");
out.print("<TH width=100>"+"EMPNO");
out.print("<TH width=50>"+"Ename");
out.print("</TR>");
while(rs.next())
{ out.print("<TR>");
int n=rs.getInt(1);
out.print("<TD >"+n+"</TD>");
String e=rs.getString(2);
out.print("<TD >"+e+"</TD>");
out.print("</TR>") ;
}
out.print("</Table>");
con.close();
}
catch(SQLException e1) {out.print(""+e1);}
%>
</BODY>
</HTML>
例子12(效果如图5.33所示)
Example5_12.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<HTML>
<BODY>
<% Connection con;
Statement sql;
ResultSet rs;
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){}
try { con=DriverManager.getConnection("jdbc:odbc:star","","");
sql=con.createStatement();
rs=sql.executeQuery("SELECT * FROM 品名 ");
out.print("<Table Border>");
out.print("<TR>");
out.print("<TH width=100>"+"品名");
out.print("<TH width=50>"+"单位");
out.print("<TH width=50>"+"单价");
out.print("</TR>");
while(rs.next())
{ out.print("<TR>");
String name=rs.getString(1);
out.print("<TD >"+name+"</TD>");
String unit=rs.getString(2);
out.print("<TD >"+unit+"</TD>");
String unitprice=rs.getString(3);
out.print("<TD >"+unitprice+"</TD>");
out.print("</TR>") ;
}
out.print("</Table>");
con.close();
}
catch(SQLException e1) {}
%>
</BODY>
</HTML>
例子13(效果如图5.34、5.35所示)
Example5_13.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<HTML>
<BODY>
<%! //声明一个共享的连接对象:
Connection con=null;
%>
<% Statement sql=null;
ResultSet rs=null;
//第一个客户负责建立连接对象:
if(con==null)
{ try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e)
{out.print(e);
}
try {con=DriverManager.getConnection("jdbc:odbc:moon","sa","");
sql=con.createStatement();
rs =sql.executeQuery("SELECT * FROM students");
out.print("i am first");
}
catch(SQLException e)
{out.print(e);
}
}
//其它客户通过同步块使用这个连接:
else
{ synchronized(con)
{ try { sql=con.createStatement();
rs =sql.executeQuery("SELECT * FROM students");
out.print("i am not first");
}
catch(SQLException e)
{out.print(e);
}
}
}
try
{ out.print("<Table Border>");
out.print("<TR>");
out.print("<TH width=100>"+"学号");
out.print("<TH width=100>"+"姓名");
out.print("<TH width=50>"+"数学成绩");
out.print("<TH width=50>"+"英语成绩");
out.print("<TH width=50>"+"物理成绩");
out.print("</TR>");
while(rs.next())
{ out.print("<TR>");
String number=rs.getString(1);
out.print("<TD >"+number+"</TD>");
String name=rs.getString(2);
out.print("<TD >"+name+"</TD>");
int math=rs.getInt("数学成绩");
out.print("<TD >"+math+"</TD>");
int english=rs.getInt("英语成绩");
out.print("<TD >"+english+"</TD>");
int physics=rs.getInt("物理成绩");
out.print("<TD >"+physics+"</TD>");
out.print("</TR>") ;
}
out.print("</Table>");
}
catch(SQLException e1) {}
%>
</BODY>
</HTML>
vote.jsp(效果如图5.39所示):
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<HTML>
<BODY>
<% StringBuffer nameList=new StringBuffer();
Connection con;
Statement sql;
ResultSet rs;
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){}
try{ con=DriverManager.getConnection("jdbc:odbc:vote","","");
sql=con.createStatement();
rs=sql.executeQuery("SELECT * FROM people");
nameList.append("<FORM action=startvote.jsp Method=post>");
nameList.append("<Table Border>");
nameList.append("<Table Border>");
nameList.append("<TR>");
nameList.append("<TH width=100>"+"姓名");
nameList.append("<TH width=50>"+"投票选择");
nameList.append("</TR>");
while(rs.next())
{ nameList.append("<TR>");
String name=rs.getString(1);
nameList.append("<TD >"+name+"</TD>");
String s="<Input type=radio name=name value="+name+" >";
nameList.append("<TD >"+s+"</TD>");
nameList.append("</TR>") ;
}
nameList.append("</Table>");
nameList.append("<Input Type=submit value=提交>");
nameList.append("</FORM ");
con.close();
out.print(nameList);
}
catch(SQLException e1) {}
%>
</BODY>
</HTML>
startvote.jsp(效果如图5.40、5.41所示):
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<%@ page import="java.io.*" %>
<html>
<body>
<%! //记录总票数的变量:
int total=0;
//操作总票数的同步方法:
synchronized void countTotal()
{ total++;
}
%>
<% boolean vote=true;//决定用户是否有权投票的变量。
//得到被选择的候选人名字:
String name="";
name=request.getParameter("name");
if(name==null)
{name="?";
}
byte a[]=name.getBytes("ISO-8859-1");
name =new String(a);
//得到投票人的IP地址:
String IP=(String)request.getRemoteAddr();
//加载桥接器:
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){}
Connection con=null;
Statement sql=null;
ResultSet rs=null;
//首先查询IP表,判断该用户的IP地址是否已经投过票:
try { con=DriverManager.getConnection("jdbc:odbc:vote","","");
sql=con.createStatement();
rs=sql.executeQuery("SELECT * FROM IP WHERE IP = "+"'"+IP+"'");
int row=0;
while(rs.next())
{ row++;
}
if(row>=1)
{ vote=false; //不允许投票。
}
}
catch(SQLException e)
{ }
if(name.equals("?"))
{ out.print("您没有投票,没有权利看选举结果");
}
else
{
if(vote)
{ out.print("您投了一票");
//将总票数加1:
countTotal();
//通过连接数据库,给该候选人增加一票,
//同时将自己的IP地址写入数据库 。
try
{ rs=sql.executeQuery("SELECT * FROM people WHERE name = "+"'"+name+"'");
rs.next();
int count=rs.getInt("count");
count++;
String condition=
"UPDATE people SET count = "+count+" WHERE name="+"'"+name+"'" ;
//执行更新操作(投票计数):
sql.executeUpdate(condition);
//将IP地址写入IP表:
String to=
"INSERT INTO IP VALUES"+"("+"'"+IP+"'"+")";
sql.executeUpdate(to);
}
catch(SQLException e)
{ out.print(""+e);
}
//显示投票后的表中的记录:
try{ rs=sql.executeQuery("SELECT * FROM people");
out.print("<Table Border>");
out.print("<TR>");
out.print("<TH width=100>"+"姓名");
out.print("<TH width=50>"+"得票数");
out.print("<TH width=50>"+"总票数:"+total);
out.print("</TR>");
while(rs.next())
{ out.print("<TR>");
out.print("<TD >"+rs.getString(1)+"</TD>");
int count=rs.getInt("count");
out.print("<TD >"+count+"</TD>");
double b=(count*100)/total; //得票的百分比。
out.print("<TD >"+b+"%"+"</TD>");
out.print("</TR>") ;
}
out.print("</Table>");
con.close();
}
catch(SQLException e)
{ }
}
else
{out.print("您已经投过票了");
}
}
%>
</BODY>
</HTML>
main.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<HTML>
<BODY BGcolor=yellow>
<CENTER>
<FONT SIZE=2>
<P>成绩录入查询系统
<BR>
<BR><A HREF="login.jsp">录入人员登录</A>
<BR><A HREF="inputMessage.jsp">录入学生的基本信息</A>
<BR><A HREF="inputResult.jsp">录入学生成绩</A>
<BR><A HREF="modifySecret.jsp">修改密码</A>
<BR><A HREF="inquire.jsp">查询成绩</A>
</FONT>
</CENTER>
</BODY>
</HTML>
登录页面(效果如图5.44所示)
login.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<HTML>
<BODY bgcolor=pink ><Font size=1>
<P>成绩输入人员登录
<FORM action="login.jsp" Method="post">
<BR>输入帐号:
<BR><Input type=text name="account">
<BR>输入密码:
<BR><Input type=password name="secret">
<BR><Input type=submit name="g" value="提交">
</FORM>
<% //获取提交的帐号:
String account=request.getParameter("account");
if(account==null)
{account="";
}
byte b[]=account.getBytes("ISO-8859-1");
account=new String(b);
//获取提交的密码:
String secret=request.getParameter("secret");
if(secret==null)
{secret="";
}
byte c[]=secret.getBytes("ISO-8859-1");
secret=new String(c);
//查询数据库信息,验证身份:
Connection con=null;
Statement sql=null;
ResultSet rs=null;
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException event){}
try
{con=DriverManager.getConnection("jdbc:odbc:manage","","");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -