页面跳转方式&JDBC(orcle)交互

31 篇文章 1 订阅
24 篇文章 0 订阅

目录

java与jacascript的跳转方式:

JSP页面跳转方式:

form表单提交跳转(上节课已讲):

超链接标签页面跳转 :

js中location页面跳转:

java的方式跳转:

获取form表单提交的值与转发 重定向的使用:

JDBC数据库交互:

jdbc 架包下载 :

jdbc连接数据库的步骤 :


java与jacascript的跳转方式:

JSP页面跳转方式:

form表单提交跳转(上节课已讲):

要求:action和method都需要配置,method不自己设置,默认就是get请求

问题:参数传递

<form action = "1.jsp?password=123" method = "post">
		账号: <input type = "text" name = "username"/>
		<br/><br/>
		<input type ="submit" value = "登录"/>
</form>
<!-- HTMLform标签时  hidden 隐藏域标签 -->
<!-- 作用:页面传值  不会在页面上显示 -->
<input type ="hidden" name = "sex" value = "男"/>

超链接标签页面跳转

<h5>不带参数超链接页面跳转</h5>
<a href = "1.jsp">跳转到1.jsp页面</a>
<h5>带参数超链接页面跳转</h5>
<a href = "1.jsp?hobby=打游戏">跳转到1.jsp页面</a>

js中location页面跳转:

<button type = "button" onclick = "one()">不带参数跳转</button>
<button type = "button" onclick = "two()">带参数跳转</button>
<script type="text/javascript">
	function one(){
	//location对象跳转
	location.href = "1.jsp";
}
function two(){
	location.href = "1.jsp?age=12";
}
 
</script>

java的方式跳转:

请求转发:面向服务端跳转,1次请求,可以将参数传递到另外的页面去获取,地址栏不会发生改变

请求重定向:面向浏览器客户端跳转,2次请求,不可以将参数传递到另外的页面去获取,地址栏会发生改变

 请求转发:
通过request对象进行跳转
request.getRequestDispatcher("/页面地址").forward(request, response);

请求重定向:
通过response对象进行跳转
response.sendRedirect("success.jsp");
 

获取form表单提交的值与转发 重定向的使用:

<%@ 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("<br/>密码: "+password);
		
		String sex = request.getParameter("sex");
		out.println("<br/>性别: "+sex);
		
		out.println("<hr/>");
		String hobby = request.getParameter("hobby");
		out.println("<br/>爱好: "+hobby);
		
		out.println("<hr/>");
		String age = request.getParameter("age");
		out.println("<br/>年龄: "+age);
		
		
		out.println("<hr/>");
		/* 如果在中转站页面获取数据进行判断后需要继续跳转页面 */
		/* 页面跳转的方式中: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("<script>");
			out.println("alert('登录成功')");
			out.println("location.href='success.jsp'");
			out.println("</script>");
			*/
			
			//java的方式进行跳转
			//请求转发
			//面向服务端跳转,1次请求,可以将参数传递到另外的页面去获取,地址栏不会发生改变
			//request.getRequestDispatcher("success.jsp").forward(request, response);
			
			
			//请求重定向:面向浏览器客户端跳转,2次请求,不可以将参数传递到另外的页面去获取,地址栏会发生改变
			response.sendRedirect("success.jsp");
		
		}else{//账号或者密码错误
			//返回登录页面  进行操作
			out.println("<script>");
			out.println("alert('账号或密码错误')");
			out.println("location.href='demo1.jsp'");
			out.println("</script>");
		}
		
		
		
		
		
	%>

JDBC数据库交互:

jdbc 架包下载 :

https://wwn.lanzoul.com/iC6p80298t5ehttps://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");//SQLServerDriver

    url
        sqlserver
            jdbc:sqlserver://lcoalhost:1433;DatabaseName=db_xxx

        oracle
            jdbc:oracle:thin:@localhost:1521:orcl

            特别要注意:
                oracle中的url地址中都是:  没有其它符号
                oracle的端口号:    1521
                orcl:实例名 ***   服务名称
                    服务名称:   OracleServiceORCL        orcl
                               OracleServiceORCLE      orcle
 

jdbc连接数据库的步骤

准备阶段: 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("<script>alert('登录成功')</script>");
			request.getRequestDispatcher("index.jsp").forward(request, response);
		}else{
			//重定向---新的请求方式
			//out.print("<script>alert('登录失败')</script>");
			response.sendRedirect("login.jsp");
		}
		//5.关闭连接
			rs.close();
			ps.close();
			conn.close();%>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值