javaweb页面跳转方式&JDBC

页面跳转方式&JDBC

这里写目录标题

  • 页面跳转方式&JDBC
          • 本期内容 页面的跳转 和 数据库的连接
            • 页面跳转
          • 使用js跳转
          • 使用java进行跳转
    • 转发:
          • 重定向
          • 数据库的连接 oracle

本期内容 页面的跳转 和 数据库的连接
页面跳转

在java中out.print()是可以输出html语句的

跳转:
out.print("点我返回登入页面")//这个也是可以跳转的
   还有:回顾我们的js跳转 location.href="xx"
使用js跳转

javaweb页面跳转方式&JDBC_第1张图片

这里我们新建一个我们要跳转的页面 名字(home)

location.href="xx"这里我们先使用js语句跳转

然java后在我们之前的页面上把这个 丢在out.print里面去

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<%//里面写java代码
//网页数据传输如果是字节或文字情况下会产生乱码情况
request.setCharacterEncoding("UTF-8");//将请求中的字符编码设置成中文
String name=request.getParameter("username");//获取username的值
String pwd=request.getParameter("userpwd");//获取userowd的值
//登入逻辑:跳转页面
if("sa".equals(name)&&"123".equals(pwd)){
	out.print("");//双引号里面写我们要跳转的页面 这里我们要跳转的页面是home
    注:(这里直接丢进去是不行的 因为它是js语句 要把它套在 script标签里面)
}else{
	out.print("no");
}
%>
使用java进行跳转
  1. 转发 意思:(就是如果 你找一个人借东西但他没有 然后他就找别人借给你 然后别人就把东西给他再给你)

    如图

javaweb页面跳转方式&JDBC_第2张图片

  1. 重定向 意思:(就是如果 你找一个人借东西但他没有 然后他(叫你)找别人借给你 然后别人就东西直接交给你手上

    如图

javaweb页面跳转方式&JDBC_第3张图片

区别:

  1. 转发是服务器行为,重定向是客户端行为

  2. 转发可携带数据(request中的数据),但重定向不行

  3. 转发的页面的路径不会发生改变,但重定向会发生

    • 所以它去B页面那数据给到它

在这里插入图片描述

 .forward(请求,向应)

转发:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<%//里面写java代码
//网页数据传输如果是字节或文字情况下会产生乱码情况
request.setCharacterEncoding("UTF-8");//将请求中的字符编码设置成中文
String name=request.getParameter("username");//获取username的值
String pwd=request.getParameter("userpwd");//获取userowd的值
//登入逻辑:跳转页面
if("sa".equals(name)&&"123".equals(pwd)){
	//转发
  //  .forward(请求,向应)
    requset.getRequsetDispatcher("home.jsp").forward(request,reqponse);//这边就是向这个这个页面 拿数据 然后这个页面把数据给(home)-然后home又给到(dologin)再给到(login) 但是输出时页面路径 会停留在dologin
}else{
	out.print("no");
}
%>
重定向
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<%//里面写java代码
//网页数据传输如果是字节或文字情况下会产生乱码情况
request.setCharacterEncoding("UTF-8");//将请求中的字符编码设置成中文
String name=request.getParameter("username");//获取username的值
String pwd=request.getParameter("userpwd");//获取userowd的值
//登入逻辑:跳转页面
if("sa".equals(name)&&"123".equals(pwd)){
    //重定向 
response.sendRedirect("home.jsp");:它跳过去之后是没有数据的 因为最终它还是 回到了dologin页面
}else{
	out.print("no");
}
%>
数据库的连接 oracle
  • 语句步骤

    1. 导入oracle驱动

javaweb页面跳转方式&JDBC_第4张图片

 注:切记一定要把驱动包 导在 (web-INF )下的lib里面

javaweb页面跳转方式&JDBC_第5张图片

 右键打开 找到build path 点击牛奶瓶

javaweb页面跳转方式&JDBC_第6张图片

 添加完之后 上边就会显示一个牛奶瓶

 如图:

javaweb页面跳转方式&JDBC_第7张图片

 这样我们的驱动就可用了

  然后我们就可以进行下一步操作了

导包:

在这里插入图片描述

这里我们选择第二个 长一点的

然后我们代码的上面就会出现刚刚导好包的语句

在这里插入图片描述

 然后我们把 双引号里面 的复制下来

 加载驱动


 Class.forName("oracle.jdbc.driver.OracleDriver");
  1. 编写链接

    连接驱动

    String URL=“jdbc:oracle:thin:@localhost:1521:orcl”;
    意 /oracle连接:这里的thin是驱动名称(不能修改!!!)
    //@localhost代表本机 1521是oracle提供的端口
    //后面orcl是Oracle数据库名称 因为Oracle只有一个数据库我们就固定填这个 (但它有多个用户)

    
    
  2. 获得连接

    打开Oracle服务(要开两个)win+x,g

javaweb页面跳转方式&JDBC_第8张图片

 进来之后点击黑色方块里的服务

 然后进入

在这里插入图片描述

再点击服务
javaweb页面跳转方式&JDBC_第9张图片

 进来之后我们首先看到的不是这个界面 (点击服务里面的任意一个(不要点进去))打上一个O就可以看到 所有Oracle服务 我们点击 黑色方块里的两个服务右键开起 就可以开始连接了

 获取连接


 Connection con=DriverManager.getConnection(URL,"用户名","密码");
 

 用户名和密码 填写你数据库登入的密码
  1. 获得预编译对象(执行对象)

    到这里 就可以去数据库建表了

    建好表之后 写上 查询语句 把它复制过来

    PreparedStatement pre=con.preparStatement("这里写你的查询语句")
    

    如果你写的是占位符(给占位符赋值)

    ps.setString (1  , name );//用户名
    ps.setString (1  , pwd );//密码
    
  2. 获取结果集

    resultset rs=ps.executeQuery();//获取结果集
    
  3. 判断(结果集里面东西 有 无?)也可以说是登入验证

    if(rs.next){
    request.getRequestDispatcher("home.jsp").forward(request,response)
    }else{
    response.sendRedirect("login.jsp")
    }
    
  4. 关闭资源

if(con!=null&&!con.isClosed()){
con.close();
}
if(ps!=null){
ps.close();
}
if(rs!=null){
rs.close();
}

本期内容 到此结束

你可能感兴趣的:(jquery,javascript,前端)