今天是JavaWeb的第三节课,今天小编主要带大家学习页面跳转方式和连接数据库操作登录,大家有什么不懂的在下方评论或者私信,看到了一定会为大家解答的。


目录

 一.界面跳转

  JS中的跳转

  Java中的跳转 

二.连接数据库进行操作 


 一.界面跳转

JS中的跳转

    js中的跳转我们要编写在<script></script>,因为我们的JS代码都是在script中编写的,      否则代码无效。

    格式:
     out.print("<script>location.href='home.jsp'</script>");
      


  Java中的跳转 

  【转发】:你找小明借钱,小明没有钱,于是他找小红拿了钱借给你
  【重定向】:你找小明借钱,小明说没钱,你去找小红借钱,小红借给你了你
 
区别:
        1.转发是服务器行为,重定向是客户端行为
        2.转发可以携带数据(request中的数据),重定向不能
       
 重向为什么不能带数据:(比如你带了一把糖,你想找小明借你钱,小明没有借你钱,              但是他把你的糖给吃了,你就没有糖给小红了)
         3.转发的界面路径不会发生改变,重定向的路径会发生改变

格式:
      【转发】request.getRequestDispatcher("界面名字").forward(request, response);
      【重定向】response.sendRedirect("界面名字");


二.连接数据库进行操作 

  •   首先我们要把驱动包拖进去,放在webapp文件下的lib文件下,然后右键点击build path,在点击像牛奶瓶一样的哪里,文件位置一定不要发错,牛奶瓶一定要点,不然会报错。
  •  我们打开数据库oracle时,去手动打开服务win+x--->选择计算机管理(G)--->服务器和应用程序---->服务-->启动OracleServiceORCL和OracleOraDb11_home1TNSListener
  • 去数据框创建一张用户表,插入信息,方便我们操作。

下方的代码是一个表单验证,登录界面,匹配数据库的信息,判断用户输入的人是否在用户表中存在,存在的话我们就跳转界面去到首页,代码第详细的打好流 备注,大家跟着代码敲一遍,因为其实相对来说今天的东西都是大家应该学过的,也是非常简单的。

 1.登录界面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登录界面</title>
</head>
<body>
    <form action="doLogin.jsp" method="post">
         <p><input  type="text" name="userName" placeholder="请输入用户名"></p>
         <p><input  type="text"  name="userPwd" placeholder="请输入密码"></p>
         <p><button>登录</button></p>
    </form>
</body>
</html>

 2.操作数据库 

<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="oracle.jdbc.driver.OracleDriver"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
    <%
    //编写Java代码
    //连接数据库,进行判断登录的用户是否存在数据库中的用户表中。
     String name=request.getParameter("userName");//名字一定要和前端的名字一样
     String pwd=request.getParameter("userPwd");     
    
    //1.导入驱动(sqlserver,oracle,mysql),一定要执行 build path
    //OrcaleDriver
      Class.forName("oracle.jdbc.driver.OracleDriver");
    //2.编写连接语句
    String url="jdbc:oracle:thin:@localhost:1521:orcl";//打开服务win+x
    //3.获得连接
    Connection con= DriverManager.getConnection(url,"scott","zking123");
    //4.获得预编译对象(执行对象)
   PreparedStatement ps=con.prepareStatement("select * from jw03_user where username=? and userpwd=?");
    //给占位符赋值
    ps.setString(1, name);
    ps.setString(2, pwd);
    //5.拿到结果集
    ResultSet rs=ps.executeQuery();
     //6.判断【登录验证,页面跳转】
	
  	// js中的跳转 location.href='xxx'
  	// out.print("<script>location.href='home.jsp'</script>");//可以输出html语句
  	
  	// 使用java进行跳转
  	//	【转发】:你找小明借钱,小明没有钱,于是他找小红拿了钱借给你
  	//  【重定向】:你找小明借钱,小明说没钱,你去找小红借钱,小红借给你了你
  	//	区别:
  	//		1.转发是服务器行为,重定向是客户端行为
  	//		2.转发可以携带数据(request中的数据),重定向不能
  	//重向为什么不能带数据:(比如你带了一把糖,你想找小明借你钱,小明没有借你钱,但是他把你的糖给吃了,你就没有糖给小红了)
  	//		3.转发的界面路径不会发生改变,重定向的路径会发生改变
  	//	【转发】request.getRequestDispatcher("home.jsp").forward(request, response);
  	//	【重定向】response.sendRedirect("home.jsp");
    if(rs.next()){
    	//当该用户存在跳转到首页去
    	request.getRequestDispatcher("Main.jsp").forward(request,response);
    }else{
    	//当输入的用户不存在,回到登录界面
    	response.sendRedirect("login.jsp");
    }
    %>
</body>
</html>

 3.首页

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>首页</title>
</head>
<body>
    <h1>欢迎来到首页</h1>
</body>
</html>

  今天的学习就到这里啦,我认为很多东西无法用文字表达清楚,所以我也是比较喜欢放代码在上面,因为我觉得看代码会更直接让你明白是怎么写的,怎么操作,大家跟着代码敲一遍噢,今天的学习就到这里啦,下次见!!!

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐