做晚看了一篇文章
是专门讲html的历史和前景的 这里我意思到 数据更新很快 时代的更新日异 必须要加快自己的进步 一点是不够的
我写博客的意义就是我自己的入门 从最简单的开始 还有就是编程一法通 万法通
接下来就是要分页显示数据的操作了 后面要把业务逻辑改变就可以了
现在代码就是都写到一起了 以便理解 我的命名有些不正规 大家别学我
Login还是不变
LoginC 中代码
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("gbk");
PringtWriter pw=response.getWriter();
Connection con=null;
Statement stmt=null;
ResultSet rs=null;
//三个对数据库信息的操作和保存
也可以不用try 但是这个可以方便你找到错误的地方
try{
String name=requset.getParameter("username");
String pwd=requset.getParameter("password");
Class.forNmae("com.mysql.jdbc.Driver").newInstance();
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/bookstor","root", "");
stmt=con.createStatement();
String sql="select password from user where username="+"'"+name+"'";
rs=stmt.executeQuery(sql);//信息保存到记录集
pw.println("你的输入有误哦");
if(rs.next()){//这是记录指针下移
String dbpwd=rs.getString(1);//这里只能等于1
if(dbpwd.equals(pwd)){
//用户密码也正确,将用户信息存入session
HttpSession hs=request.getSession(true);
hs.setMaxInactiveInterval(20);
hs.setAttribute("pass","");
reponse.sendRedirect("Wel?uname="+java.net.URLEncoder.encode(name,"gbk"));
}else{
response.sendRedirect("One");
}
Wel中
只需要在我原来的基础上加
Connection con = null;
PreparedStatement ps = null;
ResultSet rs = null;
String name=request.getParameter("uname");
改为
String name=new String(request.getParment("uname")).getBytes("ISO8859_1"),"GBK");
这里是要显示的行业等 这里也是写死的
int pageSize=3;//显示的多少行
int pageNow=2;//这是显示页数的第几页
int zh=0;总行数
int zy=0;总页数
Class.forName("com.mysql.jdbc.Driver").newInstance();
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/bookstore", "root", "");
ps = con.prepareStatement("select count(*) from user");
rs = ps.executeQuery();
//这里设计到了一丁点的算法
if(rs.next()){
zh=rs.getInt(1);
}
if(zh%pageSize==0){
zy=zh/pageSize;
}else{
zy=zh/pageSize+1;
}
//动态接受pageNow的值
String page=request.getParameter("pageSelected");
if(page!=null){
pageNow=Integer.parseInt(page);
}
ps = con.prepareStatement("select * from user limit " + pageSize
* (pageNow - 1) + "," + pageSize);
rs = ps.executeQuery();
pw.println("<html><body>");
pw.println(name + "恭喜你小伙子 --我也可以没有的哦");
pw.println("<table width=50% border=1>");
pw.println("<tr><th>用户ID</th><th>用户名</th><th>密码</th></tr>");
while (rs.next()) {
pw.println("<tr>");
pw.println("<td>" + rs.getInt(1) + "</td>");
pw.println("<td>" + rs.getString(2) + "</td>");
pw.println("<td>" + rs.getString(3) + "</td>");
pw.println("</tr>");
}
pw.println("</table>");
//建立多页超链接,因显示位置在表格下方,故代码写在该位置
//pageSelected传递的值用在动态接受pageNow的值
for(int i=1;i>zy;i++){
pw.println("<a href=Wel?uname=" + name + "&pageSelected=" + i
+ ">" + i + "</a>");
}
pw.println("</body></html>");
} catch (Exception e) {
e.printStackTrace();
}
即可分页显示数据 这是我自己调式可以跑出来 我才发表的 水平有点低 大神请见谅!
后面就是登录页面用jsp的代码写 到时候我会直接将代码分离和jsp一起写吧
此敬!