1.用idea创建一个maven-javaweb项目
因为我这里已经有了这个项目所以Name位置显示的是橘红色
2.修改配置File->setting,然后搜索maven,然后根据自己的配置设置一下
等待加载
加载完毕项目结构
在main文件夹下创建两个文件夹
然后开始导入jar包pom.xml文件(这边只导入目前功能需要的包)*如果导包还是报红,看一下jar包在maven下是否导入成功
junit junit 4.12 javax.servlet javax.servlet-api 4.0.1 provided javax.servlet.jsp javax.servlet.jsp-api 2.3.3 provided mysql mysql-connector-java 8.0.29 javax.servlet.jsp.jstl jstl 1.2 taglibs standard 1.1.2
在java文件夹下创建项目的结构包例如com.mask.pojo…
然后在resources创建db.properties文件用于存放mysql的配置数据
编写db.reoperties文件(smbms)和账号密码根据自己的来
driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/smbms?useSSL=true&useUnicode=true&characterEnconding=utf-8 username=root password=root
根据这个去数据库创建user表(也可以只创建userCode,userPassword两个字段,就够登录测试使用了)
*********数据库账号密码记得存一条信息用于测试
数据库表创建好以后就基本搭建完成了,可以写代码了.
首先在pojo中写实体类,这边不做介绍了.
连接数据库在dao包下创建BaseDao.class文件
private static String driver; private static String url; private static String username; private static String password; //static类加载时就加载了 通过类加载读取到资源 static{ //理解为存文件的一个对象 Properties pro = new Properties(); //转成流 InputStream is = BaseDao.class.getResourceAsStream("/db.properties"); try { //读到文件并保存 pro.load(is); } catch (IOException e) { throw new RuntimeException(e); } //给上面的属性赋值 driver = pro.getProperty("driver"); url = pro.getProperty("url"); username = pro.getProperty("username"); password = pro.getProperty("password"); }
//获取数据库连接 public static Connection getConnection(){ Connection connection; try { Class.forName(driver); connection = DriverManager.getConnection(url, username, password); } catch (Exception e) { throw new RuntimeException(e); } return connection; }
编写公共类(查找功能)
public static ResultSet execute (Connection connection,String sql,Object[] params,ResultSet resultSet,PreparedStatement ps){ try { ps = connection.prepareStatement(sql); } catch (SQLException e) { throw new RuntimeException(e); } for (int i = 0; i < params.length; i++) { try { ps.setObject(i + 1, params[i]); } catch (SQLException e) { throw new RuntimeException(e); } } try { //resultSet这里理解为接受到查询出来的结果集 resultSet = ps.executeQuery(); } catch (SQLException e) { throw new RuntimeException(e); } return resultSet; }
编写释放流的公共方法
public static boolean closeResource(PreparedStatement ps,Connection connection,ResultSet resultSet){ boolean flag = true; if (ps!=null){ try { ps.close(); ps=null; } catch (SQLException e) { e.printStackTrace(); flag = false; } } if (connection!=null){ try { connection.close(); connection=null; } catch (SQLException e) { e.printStackTrace(); flag = false; } } if (resultSet!=null){ try { resultSet.close(); resultSet=null; } catch (SQLException e) { e.printStackTrace(); flag = false; } } return flag; }
写接口和实现类
DAO层就写完了,可以编写个测试类试一下
运行成功
然后开始写Service层,还是写接口写实现类
写视图层servlet调用service方法.
在webapp文件夹下创建login.jsp为登录页面在jsp下创建index.jsp没有jsp文件夹的在webapp下创建一个jsp文件夹.
在web.xml中设置初始化页面 和 登录页
编写登录页login.jsp 用于传输数据
编写jsp下的index.jsp用于跳转到的页面
最后配置tomcat运行
选择浏览器
选择jdk
点击三角运行
成功运行进入login页面 (输入账号密码点击按钮)