一,JSP页面跳转方式
1,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 = "男"/>
2,超链接标签页面跳转
<h5>不带参数超链接页面跳转</h5>
<a href = "1.jsp">跳转到1.jsp页面</a>
h5>带参数超链接页面跳转</h5>
<a href = "1.jsp?hobby=打游戏">跳转到1.jsp页面</a>
3.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");
二,JDBC数据库交互
-
基础知识 -
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 orclejdbc连接数据库的步骤
-
//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();