1:本地连接数据库的步骤

 1 public class LoginDao {
2
3 // jdbc操作的五部曲
4
5 // 1: 导入jar包
6 // 2: 加载驱动
7 // 3: 获取连接
8 // 4: 预处理
9 // 5: 执行SQL
10 // 6: 处理结果集
11 // 7: 关闭连接
12
13 static String url = "jdbc:mysql://127.0.0.1:3306/week11";
14 static String name = "root";
15 static String pass = "root";
16
17 public static void main(String[] args) {
18
19 try {
20 // 加载驱动
21 Class.forName("com.mysql.jdbc.Driver");
22 // 获取连接
23 Connection connection = (Connection) DriverManager.getConnection(url, name, pass);
24
25 String sql = "select * from t_admin where aname=? and apass=?";
26 // 预处理SQL语句
27 PreparedStatement ps = (PreparedStatement) connection.prepareStatement(sql);
28
29 // 设置预处理SQL的参数
30 ps.setObject(1, "dabu");
31 ps.setObject(2, "123");
32
33 // 执行查询
34 ResultSet rs = ps.executeQuery();
35
36 // 如果查询到了数据
37 if (rs.next()) {
38 System.out.println("查询成功");
39 } else {
40 System.err.println("查询失败");
41 }
42
43 } catch (Exception e) {
44
45 e.printStackTrace();
46 }
47
48 }

 2:与web相结合

 1 @WebServlet("/LoginServlet")
2 public class LoginServlet extends HttpServlet {
3 private static final long serialVersionUID = 1L;
4
5 public LoginServlet() {
6 // TODO Auto-generated constructor stub
7 }
8
9 protected void doGet(HttpServletRequest request, HttpServletResponse response)
10 throws ServletException, IOException {
11 // TODO Auto-generated method stub
12 response.getWriter().append("Served at: ").append(request.getContextPath());
13 }
14
15 protected void doPost(HttpServletRequest request, HttpServletResponse response)
16 throws ServletException, IOException {
17 // TODO Auto-generated method stub
18 doGet(request, response);
19 }
20
21 static String url = "jdbc:mysql://127.0.0.1:3306/week11?useUnicode=true&characterEncoding=utf-8&useSSL=false";
22 static String name = "root";
23 static String pass = "root";
24
25 @Override
26 protected void service(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException {
27
28 // 获取浏览器发过来的值
29 HttpServletRequest req = (HttpServletRequest) arg0;
30
31 //这个方法负责具体的实践
32 HttpServletResponse sr=(HttpServletResponse)arg1;
33 PrintWriter out=sr.getWriter();
34
35 // 获取前台传过来的值
36 String userName = req.getParameter("username");
37 String userPass = req.getParameter("userpass");
38
39 // 去数据库里面查询有没有
40 // 2: 加载驱动
41 // 3: 获取连接
42 // 4: 预处理
43 // 5: 执行SQL
44 // 6: 处理结果集
45 // 7: 关闭连接
46
47 String sql = "select * from t_admin where aname=? and apass=?";
48
49 Connection connection=null;
50 PreparedStatement ps=null;
51 ResultSet rs=null;
52 try {
53
54 //加载驱动
55 Class.forName("com.mysql.jdbc.Driver");
56 //获取连接
57 connection = (Connection) DriverManager.getConnection(url, name, pass);
58 //预处理SQL
59 ps = (PreparedStatement) connection.prepareStatement(sql);
60
61
62 //设置从前台取出来的参数
63 ps.setString(1,"username");
64 ps.setString(2,"userpass");
65 //执行查询得到结果集
66 rs=ps.executeQuery();
67 //判断结果
68 if(rs.next()){
69 out.print("login success");
70 }else {
71 out.print("login fail");
72 }
73
74 } catch (Exception e) {
75
76 e.printStackTrace();
77 }finally {
78
79 try {
80 rs.close();
81 ps.close();
82 connection.close();
83 } catch (SQLException e) {
84 // TODO Auto-generated catch block
85 e.printStackTrace();
86 }
87
88 }
89 }

login.jsp页面:

 1 <body>
2 <!--
3 action:当前表单提交的那个路径
4 method:当前表单提交的方式
5 name:对应我们的servlet去获取前台的值
6
7 -->
8 <form action="LoginServlet" method="get">
9
10 用户名:<input name="username" type="text"/>
11 密码:<input name="userpass" type="password"/>
12
13 <!-- 默认是submit -->
14 <button>提交</button>
15 </form>
16 </body>

结果:

java-web与jdbc 的使用的更多相关文章

  1. java web中Jdbc访问数据库步骤通俗解释(吃饭),与MVC的通俗解释(做饭)

    一.Jdbc访问数据库步骤通俗解释(吃饭) 1)加载驱动 Class.forName(“com.microsoft.jdbc.sqlserver.SQLServer”); 2) 与数据库建立连接 Co ...

  2. Java Web(十) JDBC的增删改查,C3P0等连接池,dbutils框架的使用

    前面做了一个非常垃圾的小demo,真的无法直面它,菜的抠脚啊,真的菜,好好努力把.菜鸡. --WH 一.JDBC是什么? Java Data Base Connectivity,java数据库连接,在 ...

  3. Java Web(九) JDBC及数据库连接池及DBCP,c3p0,dbutils的使用

    DBCP.C3P0.DBUtils的jar包和配置文件(百度云盘):点我下载 JDBC JDBC(Java 数据库连接,Java Database Connectify)是标准的Java访问数据库的A ...

  4. java web程序 jdbc连接数据库错误排查方法

    学习jsp.我遇到了麻烦,我总是看不懂500错误,因为每次都显示整个页面的错误,都是英文 我看不懂,后来,把他弄烦了,我也烦了,比起学习java.那个异常可以很简单的就知道.现在解决 了第一个问题,5 ...

  5. [Java Web学习]JDBC事务处理

    1. Spring中加入数据库的bean <bean id="dataSource" class="org.apache.commons.dbcp.BasicDat ...

  6. Java Web编程的主要组件技术——JDBC

    参考书籍:<J2EE开源编程精要15讲> JDBC(Java DataBase Connectivity)是Java Web应用程序开发的最主要API之一.当向数据库查询数据时,Java应 ...

  7. 数据库面试技巧,通过JDBC展示自己专业性,摘自java web轻量级开发面试教程

    这篇文章是我之前写的博文 数据库方面的面试技巧,如何从建表方面展示自己能力 和 面试技巧,如何通过索引说数据库优化能力,内容来自Java web轻量级开发面试教程是一个系列的,通过面试官的视角和大家分 ...

  8. JDBC在Java Web中的应用

    JDBC在Java Web中的应用 制作人:全心全意 在Java Web开发中,JDBC的应用十分广泛.通常情况下,Web程序操作数据库都是通过JDBC实现,即使目前数据库方面的开源框架层出不穷,但其 ...

  9. 高效 Java Web 开发框架 JessMA v3.5.1

    JessMA 是功能完备的高性能 Full-Stack Web 应用开发框架,内置可扩展的 MVC Web 基础架构和 DAO 数据库访问组件(内部已提供了 Hibernate.MyBatis 与 J ...

  10. 高效 Java Web 开发框架 JessMA v3.4.1

    JessMA 是功能完备的高性能 Full-Stack Web 应用开发框架,内置可扩展的 MVC Web 基础架构和 DAO 数据库访问组件(内部已提供了 Hibernate.MyBatis 与 J ...

随机推荐

  1. 【技术分析】EIP-7702 场景下 EOA 授权签名的安全探讨

    EIP-7702 在 2025 年即将到来的以太坊 Pectra 升级中,将会引入 EIP-7702 这个提案.其主要的内容就是使得 EOA 账户拥有了自己的 Storage ,并且可以通过 dele ...

  2. npm ERR! request to https://registry.npm.taobao.org/axios failed, reason: certificate has expired

    前言 一直使用 npm build没问题的,突然出现报错: npm WARN install Usage of the `--dev` option is deprecated. Use `--onl ...

  3. SQL 常见优化指南

    这一章介绍SQL常见的优化,一共30条 第一条 对查询优化,要尽量的避免全表扫描,首先应该考虑在where以及order by 涉及的列上建立索引. 第二条 应尽量避免在where子句中对字段的nul ...

  4. 解决VuePress中的”Error from chokidar : Error: EBUSY“问题

    .title { padding: 10px; background-color: rgba(3, 169, 244, 1); font-size: 16px; color: rgba(255, 25 ...

  5. kubernetes mysql-StatefulSet报错处理

    我们使用网上mysql-StatefulSet集群教程时候mysql-1启动错误,init-error. 第一次尝试解决:我从官网上下载yaml部署依然报错. 第二次尝试解决:网上换各种版本的yaml ...

  6. 【教程】Windows10系统激活

    Windows10系统激活 一.找一个激活码 到百度搜索,筛选发表日期在最近一个月或者一周之内的 二.以管理员身份打开cmd 按Win+R键,输入cmd打开命令行窗口 按Ctrl+Shift+Esc键 ...

  7. CH390使用注意事项

    关于CH390使用注意事项 CH390替换DM90xx硬件注意事项 1.CH390L替换DM9000 AVDD33的对地电容建议1uF贴近芯片放置,42脚为主电源AVDD33需10uF并联0.1uF. ...

  8. 静态批处理/动态批处理/GPU Instancing /SRP Batcher的详细剖析

    静态批处理[1] 定义 标明为 Static 的静态物件,如果在使用相同材质球的条件下,在Build(项目打包)的时候Unity会自动地提取这些共享材质的静态模型的Vertex buffer和Inde ...

  9. 匿名内部类、lambda匿名函数表达式

    a.匿名内部类的定义格式: 接口名称 对象名 = new 接口名称(){ //覆盖重写所有抽象方法 }: 一. /** * lambda匿名函数的使用 * Lambda省去面向对象的条条框框,格式由3 ...

  10. python操作PC版微信,给指定好友发信息(键鼠操作和复制粘贴相关库)

    主要用来"pyautogui"."pyperclip"两个模块 pyautogui 主要用于控制键盘和鼠标操作.详细参考https://blog.csdn.ne ...