查询db_shop数据库中admin_info表中的数据
login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%=session.getId() %>
<%
String username = "";
String pwd = "";
//读取cookie
Cookie[] cookies = request.getCookies();
for(Cookie cookie:cookies){if("username".equals(cookie.getName())){username = cookie.getValue();}if("password".equals(cookie.getName())){pwd = cookie.getValue();}
}
%>
<form action="check.jsp" method="post">
用     户     名:<input type="text" name="username"/><br/>
用户密码 :<input type="text" name="password"/><br/>
<input type="submit" value="登录"/>
<input type="reset" value="取消"/><br/>
</form>
</body>
</html>

check.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<%-- <%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%> --%>
<%@page import="java.sql.*" %>
<%@page import="com.weihai.dao.*" %><!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
request.setCharacterEncoding("utf-8");
String username = request.getParameter("username");
String password = request.getParameter("password");UserDao userDao = new UserDao();
boolean t = userDao.login(username,password);if(t){//查询
//if("username".equals(name)&& "pwd".equals(psw)){Cookie cookie1 = new Cookie("username",username);Cookie cookie2 = new Cookie("password",password);//存储cookie需要设置存活时间 秒cookie1.setMaxAge(7*24*60*60);cookie2.setMaxAge(7*24*60*60);response.addCookie(cookie1);response.addCookie(cookie2);session.setAttribute("username", username);session.setAttribute("password", password);session.setMaxInactiveInterval(1);/* rs.close();userDao.pt.close();userDao.conn.close(); */response.sendRedirect("success.jsp");
}
else{
response.sendRedirect("error.jsp");
}
%>
</body>
</html>

query.jsp

<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><%@page import="java.sql.*" %><%@page import="com.weihai.bean.*,com.weihai.dao.*" %><%@page import="java.util.*" %><!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body><%
UserDao userDao = new UserDao();
ArrayList<User> users = userDao.queryAll();//遍历结果集
for(int i=0;i<users.size();i++){User user = users.get(i);System.out.print(user.getUsername()+"  ");System.out.print(user.getPassword());System.out.println("<br/>");
}%>
</body>
</html>

在src下建一个com.weihai.bean包并建一个java文件
User.java

package com.weihai.bean;import java.io.Serializable;//表示数据的javabean
//成员变量私有
//提供公开的set和get方法public class User implements Serializable{/*** 成员变量根据表中的字段确定*/private static final long serialVersionUID = 1L;private int id;private String username;private String 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;}}

在src下建一个com.weihai.bean包并建一个java文件
userDao.java

package com.weihai.dao;import java.awt.desktop.UserSessionEvent;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;import com.mysql.jdbc.Connection;
import com.weihai.bean.User;public class UserDao {
//成员变量
//成员方法:方法定义三要素:方法名、参数、返回值public Connection conn = null;public PreparedStatement pt = null;public boolean login(String username,String password) {ResultSet rs = null;boolean t = false;try {Class.forName("com.mysql.jdbc.Driver");}catch (ClassNotFoundException e) {e.printStackTrace();}//创建数据库的连接try {conn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/db_shop?serverTimezone=UTC","root","root");}catch (SQLException e) {e.printStackTrace();}//解决sql注入利用PreparedStatement//PreparedStatement允许在sql语句中使用占位符?//PreparedStatement的优点//1.解决sql注入//2.提高程序的可读性和可维护性//3.执行效率高String sql = "select * from admin_info where name=?and pwd=?";try {pt = conn.prepareStatement(sql);//执行sql语句之前需要给参数赋值pt.setString(1,username);pt.setString(2,password);//执行sql语句rs = pt.executeQuery();if(rs.next()) {t = true;}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}if(rs!=null) {try {rs.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}if(pt!=null) {try {pt.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}if(conn!=null) {try {conn.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}return t;}public ArrayList<User> queryAll() {//2.访问数据库,查询用户名密码//(1)加载数据库驱动ArrayList<User> users = new ArrayList<User>();ResultSet rs = null;try {Class.forName("com.mysql.jdbc.Driver");}catch (ClassNotFoundException e) {e.printStackTrace();}//创建数据库的连接Connection conn = null; try {conn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/db_shop?serverTimezone=UTC","root","root");}catch (SQLException e) {e.printStackTrace();}//创建语句容器Statement st = null;try {st = conn.createStatement();} catch (SQLException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}//执行sql语句try {rs = st.executeQuery("select * from admin_info");} catch (SQLException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}//遍历结果集try {while(rs.next()) {User user = new User();user.setId(rs.getInt("id"));user.setUsername(rs.getString("name"));user.setPassword(rs.getString("pwd"));users.add(user);}} catch (SQLException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}//关闭数据库连接if(rs!=null) {try {rs.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}if(st!=null) {try {st.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}if(conn!=null) {try {conn.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}return users;}}

success.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>成功页面</title>
</head>
<body>
<%@ include file="validate.jsp"%>
<%
//String name = request.getParameter("userName");
//String name = (String)session.getAttribute("username");
%>
用户:<%= name %><br>
登录成功<br/>
</body>
</html>

error.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>错误页面</title>
</head>
<body>
<p>登录失败</p><br/>
<a href="login.jsp">重新登录</a>
</body>
</html>

validate.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
String name = (String)session.getAttribute("username");
if(name==null||name.isEmpty()){response.sendRedirect("error_session.jsp");
}
%>
</body>
</html>

JSP连接数据库实现查询功能相关推荐

  1. JSP连接数据库实现查询

    JSP连接数据库实现查询 创建MySQL的表 database db_shop; use db_shop; create table admin_info( idint(11) NOT NULL AU ...

  2. java 连接数据库查询_JAVA连接数据库,查询功能怎么写

    展开全部 public class JdbcNoarg { //查询一行数636f707962616964757a686964616f31333363353765据 public void getQu ...

  3. jsp 实现查询功能

    要求: 实现查询功能 1.数据库代码 1 create database mvce; 2 use mvce; 3 create table test2( 4 id int not null ident ...

  4. java实战:jsp快速实现简单易用的信息登记与查询功能

    一.先看效果 本篇主要用于介绍信息登记以及查询功能,介绍jsp的数据录入和查询实现. 信息登记页面图示: 管理人员查询页面图示: 二.数据库准备 创建一个专用数据库和两张表: /*创建数据库*/ cr ...

  5. ajax jsp模糊查询源码,Ajax动态执行模糊查询功能

    Ajax动态执行模糊查询功能 内容精选 换一换 Profiling采集的数据较多,同时解析后展示的性能指标项也比较多,为方便用户快捷查找到具体性能指标的含义,提供命令行查询功能:不包含metric_n ...

  6. 在数据显示页面增加按姓名查询功能

    在上一章内容<将数据库中表格信息输出到页面上>的基础上,增加按姓名查询功能. 问:怎么在显示学生信息的页面增加按照姓名查询的功能? 答:在显示学生信息的页面,使用<form>标 ...

  7. 成绩查询系统源java代码_基于jsp的成绩查询系统-JavaEE实现成绩查询系统 - java项目源码...

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的成绩查询系统, 该项目可用各类java课程设计大作业中, 成绩查询系统的系统架构分为前后台两部分, 最终实现在线上 ...

  8. JavaWeb-综合案例(用户信息)-学习笔记06【复杂条件查询功能】

    Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb-综合案例(用户信息)-学习笔记01[列表查询] JavaWeb-综合案例(用户信息)-学习笔记02[登录功能] JavaWeb-综合案 ...

  9. JavaWeb-综合案例(用户信息)-学习笔记05【分页查询功能】

    Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb-综合案例(用户信息)-学习笔记01[列表查询] JavaWeb-综合案例(用户信息)-学习笔记02[登录功能] JavaWeb-综合案 ...

最新文章

  1. c++ 返回对象的引用要小心
  2. 如何 提高企业网站大数据量 效率
  3. linux上pyenv卸载,在Ubuntu 18.04系统下安装pyenv的方法
  4. 转向Kotlin——数据类和封闭类
  5. 95-230-032-源码-WordCount走读-获取物理执行图
  6. 无人机怎么设定航线_无人机工地巡逻方案
  7. html+制作动态主题,动态HTML的制作
  8. mysql 临时表联表查询_一、MySQL中使用从表A中取出数据来更新表B的内容例如:要update表data中的一些列属性,但是修改属性的内容来源是来自表chanpin。SQL语言中不...
  9. 服务器上用vbox创建虚拟机,用 VirtualBox 创建虚拟机教程 图解
  10. seo之html优化,SEO优化技巧之HTML优化
  11. 什么是5G承载网?【转载自微信公众号网络技术联盟站】
  12. GFPGAN:老旧照片的面部恢复神器
  13. Python读取Execl文件批量生成二维码
  14. java 注解传值_java注解 - Mr.yang.localhost - 博客园
  15. Text to image论文精读GR-GAN:逐步细化文本到图像生成 GRADUAL REFINEMENT TEXT-TO-IMAGE GENERATION
  16. matlab去除图片水印_怎么用matlab从含有水印的图像中提取出水印
  17. 思科模拟器DHCP配置-CCNA
  18. KeyShot宝石效果材质
  19. 二(1)、MySQL语句优化—优化WHERE子句
  20. 2 元打包 70 位当红明星素颜照,人脸数据泄露远超你想象

热门文章

  1. 数理逻辑小结3——一阶谓词逻辑演算
  2. RTMP推流方案总结
  3. if-else 语句优雅处理
  4. Epub电子书阅读软件-IOS软件开发团队
  5. 市政管网检测机器人收费标准_滦州市机器人检测随叫随到收费标准
  6. OpenJudge NOI题库 1.4 编程基础之逻辑表达式与条件分支
  7. SQL语句练习:电商数据库
  8. 对抗神经网络算法 应用,对抗神经网络算法 英文
  9. Google Earth Engine笔记-植被覆盖度计算
  10. 用数据分析来挖掘一下大家最喜欢的抖音视频都有哪些...