这篇文章是接着上面的 Maven项目 cityFileFK01课后完成的作业,上课可能要重新写,仅供参考。

文章目录

  • 1.数据库设计如下图:
  • 2.文件目录分类如下:
  • 3.DBUtil类
  • 4.resources下的db.properties
  • 5.dao下的UsersCDao类
  • 6.controller下的LoginServlet类
  • 7.login.jsp
  • 8.index.jsp
  • 9.error.jsp
  • 10.运行结果:

1.数据库设计如下图:

2.文件目录分类如下:

3.DBUtil类

package util;/*连接数据的类*/import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;public class DBUtil {private static String username;private static String password;private static String url;private static String driver;static {try {InputStream in = DBUtil.class.getClassLoader().getResourceAsStream("db.properties");//  FileInputStream in=new FileInputStream("db.properties");System.out.println("in:" + in);Properties p = new Properties();p.load(in);username = p.getProperty("db.username");password = p.getProperty("db.password");url = p.getProperty("db.url");driver = p.getProperty("db.driver");System.out.println(username);System.out.println(password);System.out.println(url);System.out.println(driver);} catch (IOException e) {e.printStackTrace();}}//封装一个连接方法public static Connection getConn() {Connection conn = null;try {//加载驱动Class.forName(driver);conn = DriverManager.getConnection(url, username ,password);System.out.println("...........................");System.out.println(conn);} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();}return conn;}

4.resources下的db.properties

db.username=root
db.password=123456
db.url=jdbc:mysql://localhost:3306/citylifefk?characterEncoding=utf8
db.driver=com.mysql.jdbc.Driver

5.dao下的UsersCDao类

package dao;import util.DBUtil;import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;public class UsersCDao {private String username;private String password;public UsersCDao(String username, String password) {this.username = username;this.password = password;}public Integer selectStudent() throws SQLException {//获得连接Connection connection= DBUtil.getConn();//编辑数据库语句String sql="select role from tb_admin_user where uname=\""+username+"\"and pwd=\""+password+"\"";//建立statement对象和resuleset结果对象Statement statement=null;ResultSet resultSet=null;try {int role=-1;int count=0;statement=connection.createStatement();resultSet=statement.executeQuery(sql);//用ResultSet的next方法判断是否有下一个while (resultSet.next()){//将相关的属性值引出来 并且存入到student对象中role=resultSet.getInt("role");count++;}if (count!=1){return -1;}return role;} catch (SQLException throwables) {throwables.printStackTrace();}finally {resultSet.close();statement.close();connection.close();}return -1;}
}

6.controller下的LoginServlet类

package controller;import dao.UsersCDao;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.SQLException;/*登录*/
@WebServlet(urlPatterns = "/toLogin")
public class LoginServlet extends HttpServlet {@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//当前servlet默认编码为ISO8859-1不支持中文,应先设置中文编码格式req.setCharacterEncoding("utf-8");//接受参数(接收用户填写的信息)String username = req.getParameter("username");String password = req.getParameter("password");//根据用户名和密码查询当前用户信息是否存在,在dao里写//定义一个变量存储结果Integer result = null;UsersCDao usersCDao=new UsersCDao(username,password);try {//将查询结果返回给resultresult=usersCDao.selectStudent();} catch (SQLException throwables) {throwables.printStackTrace();}//根据查询结果值不同进入不同页面,在这里只是原理演示,如果result等于0或1或2则分别为超级用户、普通用户、管理员用户if (result == 0){//使用重定向的方法 跳转到对应的页面resp.sendRedirect("index.jsp");}else if (result==1){resp.sendRedirect("index.jsp");}else if (result==2){resp.sendRedirect("index.jsp");}else {//如果查询结果不为0、1、2,则表明在用户名错误或者密码错误,返回错误提示界面resp.sendRedirect("error.jsp");}}}

7.login.jsp

前端 login.jsp 页面提交用户名和密码

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<%@page isELIgnored="false" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<base href="<%=request.getContextPath()%>/"/><title>用户登录</title><link type="text/css" rel="stylesheet" href="/css/style.css;">
</head>
<body bgcolor="#E7ECEF"><center><form action="/toLogin" method="post"><table border="0" cellspacing="0" cellpadding="0" style="margin-top:130px"><tr><td><img src="/images/logon_top.gif"></td></tr><tr height="180"><td background="/images/logon_middle.gif" align="center" valign="top"><table border="0" width="90%" cellspacing="0" cellpadding="0"><tr height="50"><td colspan="2"></td></tr><tr height="30"><td align="right" width="40%">用户名:&nbsp;&nbsp;</td><td style="text-indent:5px"><input type="text" name="username" size="30px" value="" id="log_Login_action_user_userName"/><span>${error}</span></td></tr>                <tr height="30"><td align="right">密&nbsp;&nbsp;码:&nbsp;&nbsp;</td><td style="text-indent:5px"><input type="password" name="password" size="30px" id="log_Login_action_user_userPassword"/></td></tr><tr height="60"><td></td><td><input type="submit" id="" value="登录"/><input type="reset" value="重置"/><a id="log_Login_action_" href="/view/indextemp.jsp">[返回首页]</a></td></tr></table></td></tr><tr><td><img src="/images/logon_end.gif"></td></tr></table></form></center>
</body>
</html>

8.index.jsp

用户名密码正确进入的页面 index.jsp

<html>
<body>
<h2>Hello World!</h2>
</body>
</html>

9.error.jsp

用户名密码错误进入的页面 error.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<body >
<img src="/images/1.png"></body>
</html>

10.运行结果:

运行tomcat,进入 http://localhost:8066/login
效果:

若用户名密码输入正确,进入http://localhost:8066/index.jsp

若用户名密码输入错误,进入http://localhost:8066/error.jsp

Maven项目 cityFileFK02数据库连接(课外完成)相关推荐

  1. idea搭建maven项目关于数据库连接jar包版本问题解决方案

    SQLNonTransientConnectionException: CLIENT_PLUGIN_AUTH is required 将mysql-connector-java由5.1.34升级到了6 ...

  2. springmvc+spring+mybatis+maven项目集成shiro进行用户权限控制【转】

    项目结构: 1.maven项目的pom中引入shiro所需的jar包依赖关系 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ...

  3. Maven项目SSM整合中mysql8.0.11对应Druid版本问题以及pom.xml写法

    场景 本地:mysql 8.0 Maven项目:mysql驱动 8.0.11 Maven项目:Druid1.1.10 此前Druid为版本1.0.20,项目会报 java.sql.SQLExcepti ...

  4. executequery方法_在IDEA的maven项目中连接使用MySQL8.0方法教程

    首先看一下我的基本的开发环境: 操作系统:MacOS 10.13.5编辑器:IDEA 2018.3其他:MySQL8.0.15.Maven 3.3.9.JDK 1.8 好,下面就正式开始: 第一步:在 ...

  5. Maven项目无法加载jdbc.properties

    Maven项目无法加载jdbc.properties(java.sql.SQLException: The server time zone value '�й���׼ʱ��' is unrecog) ...

  6. Mybatis在Maven项目中使用

    Mybatis概览 ORM是什么? ORM是Object Realtion Mapping的缩写,顾名思义,即对象关系映射. ORM是一种以面向对象的方式来进行数据库操作的技术.Web开发中常用的语言 ...

  7. javax maven项目缺少_教育平台项目后台管理系统:介绍与搭建

    项目架构 项目介绍 教育后台管理系统是提供给相关业务人员使用的一个后台管理系统,业务人员可以在这个后台管理系统中,对课程信息.讲师信息. 学员信息等数据进行维护. 课程管理模块 课程管理 新建课程 条 ...

  8. 在普通maven项目应用中使用MQ

    新人学习,本文从B站学习借鉴而来,链接:https://www.bilibili.com/video/BV14A411q7pF/?p=9 本文会介绍maven项目创建,通过项目介绍简单模式Simple ...

  9. 在Maven项目中使用tk-mybatis(不结合SpringBoot)

    什么是tk-mybatis 通用 Mapper4(tk-mybatis) 是一个可以实现任意 MyBatis 通用方法的框架,项目提供了常规的增删改查操作以及Example 相关的单表操作.通用 Ma ...

  10. springboot+vue+java台球厅会员和设备管理系统maven项目源码

    台球厅是近些年开始发展的,发展势头很猛,尽管内部管理系统已趋于完善,但网上管理以及会员客户的网上服务还不普及,大多数台球厅多为人工现场操作,为了能够提高客户效率,并且能够提供更为便捷周到的服务,有必要 ...

最新文章

  1. 【matlab】2019.5.10第一节上机课练习
  2. 计算机书籍-机器学习预测分析java神经网络算法与实现
  3. 数据库mysql中delimiter的作用和用法
  4. 关于安装oracle 11G R2 for Windows X64问题
  5. LR中url和html两种录制模式
  6. 【vue2.0进阶】用axios来实现数据请求,简单易用
  7. 树状数组相关应用之区间包含问题
  8. MFC字符串CString分割函数 简洁 C++
  9. BN、LN、IN、GN和SN
  10. Linux readelf命令
  11. java dwg转pdf_CAD处理控件Aspose.CAD转换功能演示:使用Java将DWG和DXF文件转换为PDF...
  12. 2021-07-28 cad贱人工具箱5.8
  13. 三种常用的数字数据编码方式
  14. Ubuntu 缩减磁盘空间
  15. 读《春秋》有感之十九:晋之霸业衰落
  16. LDA模型中需要输入的数据格式
  17. Apache Hadoop
  18. interrupt、interrupted 、isInterrupted、InterruptedException
  19. 条码软件如何自定义条码二维码的样式
  20. 【财富空间】人品,是最好的底牌

热门文章

  1. 求圆外一点做圆切线的切点坐标(算法)
  2. windows安装gem和fastlane
  3. CenterNet( Keypoint Triplets for Object Detection) 学习笔记
  4. 电脑开的热定手机连不上解决方法
  5. 408计算机组成原理学习笔记——存储系统
  6. 【Flutter小记3】Android打开前置或广角摄像头的同时打开闪光灯方案
  7. [UOJ#405/LOJ#2863][IOI2018]组合动作(交互)
  8. 规则引擎相关开源项目总结
  9. dos皇帝攻略_dos游戏皇帝
  10. 如何在Windows 8中将项目添加到新的Win + X菜单