JavaWeb之页面跳转数据库连接
开发web项目必不可少的操作:页面跳转和数据库连接,想学的来看哦~♥♥♥
渴求知识的你
目录
页面跳转
转发
重定向
转发与重定向的区别
数据库连接
JDBC
JSP中连接数据库
页面跳转
转发
对应request对象
request对象用于响应客户请求并向客户端输出信息
request对象常用方法
request.getRequestDispatcher(String location).forward(request, response)
对应request对象
request对象用于客户端向服务器发送请求
request对象常用方法:
request.getRequestDispatcher(String location).forward(request, response);
重定向
对应response对象
response对象用于响应客户请求并向客户端输出信息
response.sendRedirect(String location):将请求重新定位到一个不同的URL
转发与重定向的区别
先用两幅图来展示一下:
转发的传播路径:
转发是服务器内部行为,客户端发送了一个请求,转发可以携带数据(request中的数据),而且,转发的界面路径不会发生改变
重定向的传播路径:
重定向是客户端行为,客户端发送了两个请求,重定向不能携带数据(request中的数据),重定向的路径会发生改变
数据库连接
JDBC
JDBC是Java数据库连接技术的简称,提供连接各种常用数据库的能力:
JSP中连接数据库
基本步骤如下:
1.jar包,导入驱动包(sqlserver,oracle,mysql),一定要执行 build path
OracleDriver(alt+/)导包语句:oracle.jdbc.driver.OracleDriver
加载驱动:
Class.forName("oracle.jdbc.driver.OracleDriver");
2.编写连接语句
String URL="jdbc:oracle:thin:@localhost:1521:orcl";//orcl中的那一个数据库
3.获得连接
Connection con=DriverManager.getConnection(URL, "scott", "xyf123");
4.获得预编译对象(执行对象)
PreparedStatement ps=con.prepareStatement("select * from xx表 where xx=? ");
给占位符复制
ps.setString(1, xx);
ps.setString(2, xx);....
5.获得结果集
ResultSet rs=ps.executeQuery();
6.判断是否在数据库查到用户输入的数据[登陆验证 页面跳转]
7.关闭连接
注:
导入驱动包在lib下:
build path
选择牛奶瓶后就会有:
获得预编译对象(执行对象)之前要在对应的数据库中建好表格:
JSP中连接数据库的完整的运用代码已经贴在下面的服务器doLogin中了
主界面main:
<%@ 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><h1>我是首页</h1><h2>欢迎 <%=request.getParameter("username") %></h2>
</body>
</html>
登陆界面login:
<%@ 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><form action="doLogin.jsp" method="get"><p><input type="text" name="username" placeholder="请输入用户名"></p><p><input type="password" name="password" placeholder="请输入密码"></p><p><button>登录</button></p></form>
</body>
</html>
服务器doLogin:
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.Connection"%>
<%@page import="org.apache.tomcat.dbcp.dbcp2.DriverManagerConnectionFactory"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="oracle.jdbc.driver.OracleDriver"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<%//获取用户提交的表单信息
String username=request.getParameter("username");//从请求中取表单数据,将前端的值发给后端String password=request.getParameter("password");//1.jar包,导入驱动包(sqlserver,oracle,mysql),一定要执行 build path//OracleDriver(alt+/)导包语句oracle.jdbc.driver.OracleDriver//加载驱动Class.forName("oracle.jdbc.driver.OracleDriver");//2.编写连接语句String URL="jdbc:oracle:thin:@localhost:1521:orcl";//orcl中的那一个数据库//3.获得连接Connection con=DriverManager.getConnection(URL, "scott", "xyf123");//4.获得预编译对象(执行对象)PreparedStatement ps=con.prepareStatement("select * from user03 where uname=? and upwd=? ");//给占位符复制ps.setString(1, username);ps.setString(2, password);//5.获得结果集(结果)ResultSet rs=ps.executeQuery();//网络中的数据传输都是字节 文字会乱码request.setCharacterEncoding("UTF-8");//将请求中的乱码设置为中文//6.判断是否在数据库查到用户输入的数据[登陆验证 页面跳转]//登录成功就跳转到主界面if(rs.next()){//遍历数据库中的结果集//登陆成功一定要使用转发跳到首页,才会有用户数据//转发的界面路径不会发生改变:停留再doLogin路径request.getRequestDispatcher("main.jsp").forward(request, response);//2,重定向到首页//response.sendRedirect("main.jsp");//用户数据为null}else{//登陆失败跳到登陆页面,不需要原来的用户填写的数据,重定向response.sendRedirect("login.jsp");}//7.关闭连接if(con!=null&&con.isClosed()){con.close();}if(ps!=null){ps.close();}if(rs!=null){rs.close();}
%>
%>
运用效果:
只有当用户名和密码都在数据库中能找到时才会跳转到主界面, 用户名或密码输入错误就会通过重定向又回到登陆界面
在登陆成功的情况下,我在doLogin中使用的是转发的跳转界面的方式,所以能够拿到客户端的数据,而且,转发的界面路径不会发生改变(即使跳转到了主界面main但是界面路径还是停留在doLogin界面)
但是如果在登陆成功的情况下,我在doLogin中使用的是重定向的跳转界面的方式,那么就不能够拿到客户端的数据,而且,转发的界面路径会发生改变
好了,今天的分享就到这里了,希望能够帮助到大家,如果有不懂的可以私信【小阿飞_】哦
JavaWeb之页面跳转数据库连接相关推荐
- JavaWeb 页面跳转方式连接数据库
今天是JavaWeb的第三节课,今天小编主要带大家学习页面跳转方式和连接数据库操作登录,大家有什么不懂的在下方评论或者私信,看到了一定会为大家解答的. 目录 一.界面跳转 JS中的跳转 Java中 ...
- java 开发web页面跳转,javaweb页面跳转
java动态web页面,JavaWEB入门,javaweb页面跳转,javaweb页面登录 他们之间的联系是什么 8 serverlet 的生命周期及各阶段的作用 9 java web两种跳转方式分别 ...
- 常用的实现Javaweb页面跳转的方式
我们有两大种方式来实现页面跳转:1.JS(javascript):2.jsp跳转 先说jsp(金j三s胖p): 1.转发:request.getRequestDispatcher("1.js ...
- JavaWeb 页面跳转方式
文章目录 一.页面跳转方式 二.JDBC API 总结 一.页面跳转方式 (1)javascript方式跳转 window.location.href = "跳转的地 ...
- html页面跳转_HTTP响应协议状态码以及跳转问题
### 最近在学习计算机网络以及JavaWeb,对Http响应协议和跳转的几种方式以及跳转的状态码有一些自己的总结认识: - 第一次访问一个地址并访问成功:200 - 不是第一次访问一个地址: - ...
- JSP页面跳转的几种实现方法
真的是废了,好久没有记录学习了,还是要继续努力啊.最近刚好学习到JavaWeb,其实感觉也快期末了,刚好布置作业可以记录一下. 1.使用 href 超链接 相关代码如下: <a href=&qu ...
- ajax怎么控制页面跳转页面跳转,使用ajax实现页面跳转
最近在写一个Javaweb的项目,在写登录界面的时候,使用了ajax作为向后端传递数据的方式,但是在最初写的时候发现了一个问题.那就是,当我在后端判断用户名和密码正确之后,调用response.sen ...
- android上方导航条跳转页面,《成为大前端》系列 7. 多页面、页面跳转和Navigation模块...
介绍 开发过移动 Web 页面的同学都知道,单个页面由客户端的 UI 所承载,页面间的跳转也 不再是使用 window 和 location,也不是使用 a 标签,而且调用 Native 写好的 br ...
- aspx跳转页面的符号_解决SpringBoot+MyBatis框架下页面跳转问题与代码优化处理。...
一.关于页面跳转的疑问 后台「return "/pool/index"」返回的是字符串,会自动寻找名为"index"的页面模板文件是怎样实现的? 答:这是Spr ...
最新文章
- Powershell检测AD账户密码过期时间并邮件通知
- python 列表转为字典的两个小方法
- 061_html字符实体
- iOS开发者React Native学习路线
- React-navigation之StackNavigator
- 美国计算机科学专业申请要求,美国计算机科学专业好申请吗?申请要求高不高...
- Java集合:Collection接口
- java entitymanager类_如何在Java JDBC EntityManagerFactory类中设置实体的ID?
- 波士顿动力再发逆天机器人视频:倒立、360°旋转、空中劈叉,真是秀儿
- unity中遍历Transform的子物体
- gfdgdfgdfg
- 2021年嵌入式校招求职经历
- 关于高阻态和OOC(out of context)综合方式
- 高等数学期末总复习 DAY6.洛必达求极限、不等式单调性证明、判断拐点、曲率以及曲率半径
- 苹果手机打电话没有声音怎么回事_手机打电话听筒没有声音,只有打开免提时才有声音,该怎么办?...
- 松下MINAS-A6伺服电机调试记录
- 中国地图及各省市县地图json下载地址
- OpenSSL 把cer证书链以及key文件生成keystore,tomcat https配置
- iOS编程------SQLite / 数据库
- 论文学习记录20200306:时序数据聚合[NDSS2011]