刚接触jsp网页开发,以下是用MySQL数据库存储账户基本信息,然后网页读取显示或注册修改的基本程序:
框架如下图:
以下只贴主要代码:
主要是几个从数据库读取写入的操作,然后用javabean的方法,使用纯java来链接数据库,导入了mysql-connector-java-5.1.13-bin.jar包进java resource lib,然后build path;
然后还要将该包复制到Tomcat服务器安装目录的文件夹 \common\lib中,如D:\apache-tomcat-5.5.20\common\lib。
然后与数据库建立连接就是几句关键代码:
<span style="white-space:pre"> </span>Connection con; Statement sql; ResultSet rs; try{ //Class.forName("net.sourceforge.jtds.jdbc.Driver"); Class.forName("com.mysql.jdbc.Driver"); } catch(Exception e){System.out.print(e);}
try { <span style="white-space:pre"> </span> //String uri= "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=Student"; <span style="white-space:pre"> </span> String uri= "jdbc:mysql://127.0.0.1:3306/test"; //test为自己的数据库名称 String user="root";<span style="white-space:pre"> </span>//账户 String password="root";<span style="white-space:pre"> </span>//密码 con=DriverManager.getConnection(uri,user,password);<span style="white-space:pre"> </span>//连接 sql=con.createStatement(); rs=sql.executeQuery("SELECT username,password FROM infor WHERE username='"+username+"'");//这句话就是输入对应的sql指令!
<span style="white-space:pre"> </span>//不懂简单学习一下sql就好 if (rs.next()) {
<span style="white-space:pre"> </span>//读取表里的数据名称赋值到字符串 <span style="white-space:pre"> </span> realuser=rs.getString("username").toString(); realpass=rs.getString("password").toString(); } con.close(); } catch(SQLException e1) { System.out.print(e1); }以上我都是在javabean里实现的,是jsp代码尽量短,,但是还是做得不好,。
下面只给出一个判断的jsp界面代码,里面有用到表单传递,session保存读取,和实例化javabean并利用jsp的方法和普通java写法调用类的成员函数:
<%@ page contentType="text/html;charset=GB2312" %> <HTML><BODY bgcolor=cyan><FONT size=3> <FORM action="verify3.jsp" method=post name=form> <P>修改以下信息: <BR>密码:<Input type="password" name="pass" size="12" maxlength="30"> <BR>选择性别:<Input type="radio" name="gender" value="male" checked="default" > 男 <Input type="radio" name="gender" value="female" > 女 <BR>手机号:<Input type="text" name="phone" > <Input type="submit" value=修改 name="submit"> <br> <A href="seeinformation.jsp">返回</A> </FORM> </FONT></BODY></HTML>
</pre><pre name="code" class="javascript"><pre name="code" class="javascript"><%@ page contentType="text/html;charset=GB2312" %> <%@page import="mypac.*" %> <HTML><BODY bgcolor=cyan><FONT size=3> <jsp:useBean id="change" class="mypac.change" scope="session"/> <% String acc=(String)session.getAttribute("myaccount"); String password=request.getParameter("pass"); String gender=request.getParameter("gender"); String phone=request.getParameter("phone"); change.setUsername(acc); change.setPassword(password); change.setGender(gender); change.setPhone(phone); if(change.ischange()){ session.setAttribute("mypassword",change.getPassword()); %> <jsp:forward page="Successchange.jsp" /> <% } else{ %> <jsp:forward page="renewinf.jsp" /> <% } %> </FONT></BODY></HTML>
注意上面的radio选择框有一个坑,,value如果没写的话就会输出on,我写的时候就是value标签写错了,,结果读出来的是on而不是value,纠结了好久!!
<pre name="code" class="java">package mypac; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class change { String username; String password; String gender; String phone; public String getUsername() { return username; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public boolean ischange(){ Connection con; Statement sql; ResultSet rs; try{ Class.forName("com.mysql.jdbc.Driver"); } catch(Exception e){System.out.print(e);} try { String uri= "jdbc:mysql://127.0.0.1:3306/test"; String user="root"; String password1="root"; con=DriverManager.getConnection(uri,user,password1); sql=con.createStatement(); int m=sql.executeUpdate("UPDATE infor SET password='"+password+"',gender='"+gender+"',phone='"+phone+"' WHERE username='"+username+"'"); con.close(); if (m!=0)return true; else return false; } catch(SQLException e1) { System.out.print(e1);return false; } } }