目录
java与jacascript的跳转方式
1.JSP页面跳转方式
1.1 form表单提交跳转
1.2 超链接标签页面跳转
1.3 js中location页面跳转
1.4 java的方式跳转
1.5,获取form表单提交的值与转发 重定向的使用
2.JDBC数据库交互
jdbc 架包下载 :
jdbc连接数据库的步骤
跳转方式如下:
form表单提交跳转(上节课已讲)
超链接标签跳转
javascript中的location.href跳转
java的方式跳转:
请求转发跳转
请求重定向跳转
要求:action和method都需要配置,method不自己设置,默认就是get请求
问题:参数传递
不带参数超链接页面跳转
跳转到1.jsp页面
带参数超链接页面跳转
跳转到1.jsp页面
请求转发:面向服务端跳转,1次请求,可以将参数传递到另外的页面去获取,地址栏不会发生改变
请求重定向:面向浏览器客户端跳转,2次请求,不可以将参数传递到另外的页面去获取,地址栏会发生改变
请求转发:
通过request对象进行跳转
request.getRequestDispatcher("/页面地址").forward(request, response);请求重定向:
通过response对象进行跳转
response.sendRedirect("success.jsp");
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
/* 中转站页面 */
//设置编码
request.setCharacterEncoding("utf-8");
//获取提交页面的账号 使用name属性
String username = request.getParameter("username");
out.println("用户名为: "+username);
//获取提交页面的密码使用name属性
String password = request.getParameter("password");
out.println("
密码: "+password);
String sex = request.getParameter("sex");
out.println("
性别: "+sex);
out.println("
");
String hobby = request.getParameter("hobby");
out.println("
爱好: "+hobby);
out.println("
");
String age = request.getParameter("age");
out.println("
年龄: "+age);
out.println("
");
/* 如果在中转站页面获取数据进行判断后需要继续跳转页面 */
/* 页面跳转的方式中:location,java的请求转发 重定向可以自动跳转 */
/* form表单以及超链接需要手动点击跳转 不可取 */
String uname = request.getParameter("uname");
String pwd =request.getParameter("pwd");
//判断处理(假设与数据库连接了 交互 admin 123)
//匹配成功 跳转到主页,匹配不成功 返回登录页面继续输入后进行登录验证
if("admin".equals(uname) && "123".equals(pwd)){//ok
//通过request对象设置一个标记
//跳转---主页
//location
//注意:out.println();输出js代码不能直接拼接 需要存放到script标签中才能识别为js代码
//out.println("locaiton.href=index.jsp");//错误的写法
/*
out.println("");
*/
//java的方式进行跳转
//请求转发
//面向服务端跳转,1次请求,可以将参数传递到另外的页面去获取,地址栏不会发生改变
//request.getRequestDispatcher("success.jsp").forward(request, response);
//请求重定向:面向浏览器客户端跳转,2次请求,不可以将参数传递到另外的页面去获取,地址栏会发生改变
response.sendRedirect("success.jsp");
}else{//账号或者密码错误
//返回登录页面 进行操作
out.println("");
}
%>
文件 文件大小:1.5 M|https://wwn.lanzoul.com/iC6p80298t5e
获取密码:f3da
基础
1.jdbc:java程序与oracle数据库一个连接的桥梁。
2.jdbc中提供的接口以及类
Class.forName();
加载驱动
DriverMagaer:驱动管理类,根据不同的驱动jar连接对应的数据库,返回连接对象
DriverManager.getConnection(url,user,password);
Connection 数据库连接类
PreparedStatement 执行对象,有连接对象调用特定的方法将sql语句传入并返回其对象
ResultSet 结果集对象,通过执行对象调用特定的方法后返回的对象,该对象只针对查询操作,将查询的结果保存在了结果集对象ResultSet中,可以遍历得到这个结果集对象中的每一条记录。
next(); 如果结构及对象中存在查询的记录 可以进行打印输出占位符: ? 通过执行对象.setXxx(设置);
3.web程序通过jdbc连接oracle与sqlserver差不多。
Class.forName("OracleDriver");//SQLServerDriverurl
sqlserver
jdbc:sqlserver://lcoalhost:1433;DatabaseName=db_xxxoracle
jdbc:oracle:thin:@localhost:1521:orcl特别要注意:
oracle中的url地址中都是: 没有其它符号
oracle的端口号: 1521
orcl:实例名 *** 服务名称
服务名称: OracleServiceORCL orcl
OracleServiceORCLE orcle
准备阶段: 1.编写sql数据表 2.导入指定的架包 步骤如下:
<%
//使用步骤
//1.注册驱动类
Class.forName("oracle.jdbc.driver.OracleDriver");
//2.连接数据库
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
Connection conn = DriverManager.getConnection(url, "scott", "123");
//3.执行sql语句
String sql = "select * from tb_user where uname = ? and upwd = ?";
//4.操作数据
PreparedStatement ps = conn.prepareStatement(sql);
//给占位符设置值
ps.setString(1, username);
ps.setString(2,password);
//返回结果集
ResultSet rs = ps.executeQuery();
//判断结果集
if(rs.next()){//如果有下一个值
//转发---
//out.print("");
request.getRequestDispatcher("index.jsp").forward(request, response);
}else{
//重定向---新的请求方式
//out.print("");
response.sendRedirect("login.jsp");
}
//5.关闭连接
rs.close();
ps.close();
conn.close();%>