您好,登錄后才能下訂單哦!
怎么看待Servlet和Jsp知識點,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
tomcat,mysql,Navicat For mysql,eclipse(javaee)
注意是Dynamic Web Project,module version選擇2.5或者3.0都可以
新建server,完成后完成以下配置,這樣就能在eclipse里直接用tomcat服務器了。這里如果選擇第一個的話,eclipse會自己下載一個簡易版的tomcat。
實現網頁對數據庫的查詢或者新增,需要MVC開發模式,這里畫了一個圖,大概就是這樣:
寫一個與數據庫對應的類,包名以.pojo結尾。set get方法、構造方法、無參構造方法和toString方法都寫一遍,反正alt+s自動生成。
package com.pojo; public class User { private int uid; private String uname; private String pwd; private String sex; private int age; private String birth; public int getUid() { return uid; } public void setUid(int uid) { this.uid = uid; } public String getUname() { return uname; } public void setUname(String uname) { this.uname = uname; } public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getBirth() { return birth; } public void setBirth(String birth) { this.birth = birth; } public User(int uid, String uname, String pwd, String sex, int age, String birth) { super(); this.uid = uid; this.uname = uname; this.pwd = pwd; this.sex = sex; this.age = age; this.birth = birth; } public User() { super(); } @Override public String toString() { return "User [uid=" + uid + ", uname=" + uname + ", pwd=" + pwd + ", sex=" + sex + ", age=" + age + ", birth=" + birth + "]"; } }
package com.dao; import java.util.List; import com.pojo.User; public interface UserDao { //登錄 User checkUserLoginDao(String uname,String pwd); //密碼修改 int userChangePwdDao(String newPwd, int uid); //顯示所有信息 List<User> showAllDao(); //插入用戶 int userRegDao(String uname, String pwd, String sex, String age, String birth); }
這里以一個插入和查詢的方法為例,按照基本步驟來就可以。
查詢:
public User checkUserLoginDao(String uname, String pwd) { //創建jdbc對象 Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; //創建實體類對象 User u = null; try { //加載驅動 Class.forName("com.mysql.jdbc.Driver"); //獲取連接 conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test2","root","lijingjing"); //創建sql語句 String sql = "select * from t_user where uname=? and pwd=?"; //創建sql對象 ps = conn.prepareStatement(sql); //給占位符賦值 ps.setString(1, uname); ps.setString(2, pwd); //?執行sql rs = ps.executeQuery(); //遍歷結果集 while(rs.next()) { u = new User(); u.setAge(rs.getInt("age")); u.setUid(rs.getInt("uid")); u.setBirth(rs.getString("birth")); u.setPwd(rs.getString("pwd")); u.setSex(rs.getString("sex")); u.setUname(rs.getString("uname")); } } catch (Exception e) { e.printStackTrace(); }finally { try { rs.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { ps.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { conn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return u; }
插入的代碼流程和查詢大同小異,不同在于不需要rs結果集,返回值為int類型(表示受影響的行數),index = ps.executeUpdate();
另外為保證中文能夠在數據庫中正常顯示,在加載驅動這一步時,數據庫后面要加上?useUnicode=true&characterEncoding=UTF8
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test2?useUnicode=true&characterEncoding=UTF8","root","lijingjing");
這樣數據訪問層就寫完了。
一般這一層會對從Dao層取到的數據進行業務邏輯處理,這里只是簡單的返回。
package com.service; import java.util.List; import com.pojo.User; public interface UserService { //登錄 User checkUserLoginService(String uname,String pwd); //修改密碼 int userChangePwdService(String newPwd, int uid); //展示所有用戶信息 List<User> showAllService(); //注冊 void userRegService(String uname, String pwd, String sex, String age, String birth); }
繼承上面的接口,實現其方法,創建Dao層對象,返回即可,代碼不上了。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。