JavaWeb 学生管理系统 第一次总结
具备的知识java se 高级
数据库
js
selvet
El表达式
jsp
[外链图片转存失败(img-dfQq8aOt-1568950286321)(https://i.imgur.com/8iHLNIK.png)]
模型包里创建 User类代码:
package com.it.model; /** * 用户模型 * @author YandeHu * */ public class User { private int id; private String userName; private String password; public User() { super(); // TODO Auto-generated constructor stub } public User(String userName, String password) { super(); this.userName = userName; this.password = password; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } } 创建连接数据库的工具类 package com.it.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class Dbutil { private String jdbcName="com.mysql.jdbc.Driver"; private String dbUserName="root"; private String dbpassword="123456"; private String dbUrl="jdbc:mysql://localhost:3306/db_studentInfo"; /* * 获取数据库连接 */ public Connection getCon()throws Exception{ Class.forName(jdbcName); System.out.println("驱动包加载成功"); Connection con=DriverManager.getConnection(dbUrl, dbUserName, dbpassword); return con; } /** * 关闭数据库 * @param con Connection * @throws Exception */ public void closeCon(Connection con) throws Exception{ if(con!=null){ con.close(); } } public static void main(String[] args) throws Exception { Dbutil dbUtil=new Dbutil(); Connection con=null; try { con=dbUtil.getCon(); System.out.println("数据库连接成功"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ dbUtil.closeCon(con); } } } 创建字符串的工具类工具类中的方法是:
静态的判空操作
package com.it.util;
public class StringUtil {
/** * 判断字符串是不是空的 * @param str * @return */ public static boolean isEmpty(String str){ //假如前面有空格除去空格 如果等于"" if(str==null||"".equals(str.trim())){ return true; }else{ return false; } } public static boolean isNotEmpty(String str){ if(str!=null&&!"".equals(str.trim())){ return true; }else{ return false; } }}
创建操作用户数据库的dao类 package com.it.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import com.it.model.User; /** * 用户与数据库操作的类 * @author YandeHu * */ public class UserDao { /** * 登录验证 * @param con 连接 * @param user 用户对象 * @return 返回一个用户对象 * @throws Exception */ public User login(Connection con,User user)throws Exception{ User resultUser=null; String sql="select * from t_user where userName=? and password=?"; PreparedStatement psmt=con.prepareStatement(sql); psmt.setString(1, user.getUserName()); //给设置值 psmt.setString(2, user.getPassword()); ResultSet rs=psmt.executeQuery(); //查询返回结果集 //由于只查询一种类型的 不用while 循环 从数据库查询出结果 if(rs.next()){ resultUser=new User(); //给用户设置值 resultUser.setUserName(rs.getString("userName")); resultUser.setPassword(rs.getString("password")); } return resultUser; } } 编写登录的Servlet LoginServlet主要的思想和方法
继承HTTPServlet父类重写 doGet() 和doPost()方法
使用request.getParameter(String str); 获取前台(页面)的数据(获取参数)
给前台页面设置值用:request.setAttribute(String args, Object obj);
客户端跳转
服务器端跳转
什么是客户端跳转