页面跳转方式和JDBC

文章目录


前言

随着网络的不断发展,javaWed这门技术也越来越重要,很多人都开始了学习javaWed,本文就介绍了JavaWed的页面跳转和连接数据库的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、页面跳转方式和JDBC是什么?

页面跳转:从一个界面转换成另外的一个新界面。

/* if("admin".equals(name)&&"123".equals(pwd)){
        //说明登录成功 跳转到success.jsp
        //1.重定向 将页面跳转 地址栏发生了改变
        //不能将值传递到下一个界面  可以跳转到任意资源  在客户端发挥作用
        response.sendRedirect("http://www.baidu.com");
        
        //2.转发 将页面跳转 可以将值传递到下一个界面 
        //但是地址栏不发生改变 而是停留在了之前的页面 只能转发到当前项目内资源 在服务器端发挥作用
        //request.getRequestDispatcher("http://www.baidu.com").forward(request, response);
    }
    else{
        //说明登录失败 提示用户并返回登录界面login.jsp js的跳转属于重定向 地址栏发生了改变 login-->dologin-->login
        out.print("<script>alert('用户名或者密码有误');location.href='login.jsp';</script>");
    } */

JDBC:JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发者能够编写数据库的程序。简单地说,JDBC 可做三件事:与数据库建立连接、发送 操作数据库的语句并处理结果。

二、使用步骤

1.页面跳转方式

代码如下(示例):

out.print("<script>alert('提示信息');location.href='跳转路径'</script>");
request.getRequestDispatcher("跳转路径").forward(request, response);

2.链接数据库的方法

代码如下(示例):

//连接数据库
    //判断登录成功或失败,进行跳转页面
    //jdbc:oracle:thin:@localhost:1521:oracle
        JDBC步骤:
            1、注册驱动类
            2、连接数据库
            3、定义那个对象,用来执行sql语句
            4、给占位符赋值
            5、执行sql语句
            6、处理结果
            7、关闭连接
//1、注册驱动类
    Class.forName("oracle.jdbc.driver.OracleDriver");
    //2、连接数据库
    String url = "jdbc:oracle:thin:@localhost:1521:ORCL";
    Connection con = DriverManager.getConnection(url, "scott", "tiger");
    //3、定义那个对象,用来执行sql语句
PreparedStatement ps = con.prepareStatement("select * from 表名 where 字段=? and upwd=?");
    //4、给占位符赋值
    ps.setString(1, ss);
    ps.setString(2, upwd);
    //5、执行sql语句
    ResultSet rs = ps.executeQuery();
    //6、处理结果
    if(rs.next()){//成功就跳转到主页面
        //转发
        request.getRequestDispatcher("路径").forward(request, response);
    }else{//错误就回到原来页面
        out.print("<script>alert('提示信息');location.href='路径'</script>");
    }



 
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>用户登录</title>
<link href="Images/login.css" rel="stylesheet" type="text/css" />
</head>
<body>
 <div id="login">
	
	     <div id="top">
		      <div id="top_left"><img src="images/login_03.gif" /></div>
			  <div id="top_center"></div>
		 </div>
		 
		 <div id="center">
		      <div id="center_left"></div>
			  <div id="center_middle">
			       <div id="user">用 户
			         <input type="text" name="textfield" />
			       </div>
				   <div id="password">密   码
				     <input type="password" name="textfield2" />
				   </div>
				   <div id="btn"><a href="dologina.jsp">登录</a><a href="logina.jsp">清空</a></div>
			  
			  </div>
			  <div id="center_right"></div>		 
		 </div>
		 <div id="down">
		      <div id="down_left">
			      <div id="inf">
                       <span class="inf_text">版本信息</span>
					   <span class="copyright">管理信息系统 2008 v2.0</span>
			      </div>
			  </div>
			  <div id="down_center"></div>		 
		 </div>

	</div>
</body>
</html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<table border="1" align="center" width="80%">
		<tr>
			<td>编号</td>
			<td>用户名</td>
			<td>密码</td>
			<td>备注</td>
			<td>操作</td>
		</tr>
		
		<%
			//连接数据库 进行查询所有数据
			//注册驱动类
			Class.forName("oracle.jdbc.driver.OracleDriver");
			//连接数据库
			String url = "jdbc:oracle:thin:@localhost:1521:orcl";
			Connection con = DriverManager.getConnection(url, "scott", "tiger");
			//创建Pre对象
			PreparedStatement ps = con.prepareStatement("select * from T277 order by uuid");
			//执行sql语句
			ResultSet rs = ps.executeQuery();
			//处理结果-遍历结果集
			while(rs.next()){
			
		%>
			<tr align="center">
				<td><%=rs.getInt(1) %></td>
				<td><%=rs.getString("name") %></td>
				<td><%=rs.getString("upwd") %></td>
				<td><%=rs.getString(4) %></td>
				<td>
					<a href="doup.jsp?uuid=<%=rs.getInt(1)%>">修改</a>
					<a href="info.jsp?uuid=<%=rs.getInt(1)%>">详情</a>
					<a href="dodel.jsp?uuid=<%=rs.getInt(1)%>">删除</a>
				</td>
			</tr>
		
			<%} %>
	</table>
</body>
</html>

效果图:

 该处使用的oracle数据库,所以使用前需要导包

//服务器乱码
        request.setCharacterEncoding("utf-8");
        //客户端乱码
        response.setCharacterEncoding("utf-8");
        //响应到客户端头部乱码
        response.setContentType("text/html;charset=utf-8");


总结
例如:以上就是今天要讲的内容,本文仅仅简单介绍了页面跳转方式和JDBC的使用。

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,我会尽力解答你的问题。 JavaWeb之页面跳转: 在JavaWeb中,实现页面跳转有多种方式,其中最常见的是使用重定向和转发。 重定向是指服务器返回一个HTTP响应,告诉客户端请求的资源已经被移到一个新的位置,客户端需要重新发送请求到这个新的位置。重定向可以通过以下代码实现: ```java response.sendRedirect("newpage.jsp"); ``` 转发是指服务器直接将请求转发到另一个资源,客户端并不知道这个过程发生了。转发可以通过以下代码实现: ```java request.getRequestDispatcher("newpage.jsp").forward(request, response); ``` JavaWeb之数据库连接: 在JavaWeb中,连接数据库是非常常见的操作,可以使用JDBC或者ORM框架来实现使用JDBC连接数据库的步骤如下: 1. 加载数据库驱动程序 ```java Class.forName("com.mysql.jdbc.Driver"); ``` 2. 获取数据库连接 ```java Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "password"); ``` 3. 创建Statement对象 ```java Statement stmt = conn.createStatement(); ``` 4. 执行SQL语句 ```java ResultSet rs = stmt.executeQuery("SELECT * FROM user"); ``` 5. 处理查询结果集 ```java while (rs.next()) { // 处理每一行数据 } ``` 6. 释放资源 ```java rs.close(); stmt.close(); conn.close(); ``` ORM框架可以帮助我们更方便地操作数据库,比如使用MyBatis,只需要编写SQL语句和映射文件即可。例如: 1. 编写SQL语句 ```xml <select id="getUserById" resultType="User"> SELECT * FROM user WHERE id = #{id} </select> ``` 2. 编写映射文件 ```xml <resultMap id="userResultMap" type="User"> <id property="id" column="id"/> <result property="name" column="name"/> <result property="age" column="age"/> </resultMap> ``` 3. 获取SqlSession对象 ```java SqlSession sqlSession = sqlSessionFactory.openSession(); ``` 4. 执行查询操作 ```java User user = sqlSession.selectOne("getUserById", 1); ``` 5. 释放资源 ```java sqlSession.close(); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梓轩wdw

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值