一.页面跳转方式
页面跳转方式2种
1.重定向response能够将页面跳转 地址栏发生改变 但是不能将值传递到下一个界面
//可以跳转到任意资源 在客户端发挥作用
2.转发 request 能够将页面跳转 能够将值传递到下一个界面 但是地址栏不发生改变而是停留在之前的界面
//只能跳转到当前的项目内资源 在服务器发挥作用
二.JDBC
//两个常量
String URL = "jdbc:oracle:thin:@localhost:1521:orcl";
String CNAME = "oracle.jdbc.driver.OracleDriver";
//OracleDriver
//加载驱动
Class.forName(CNAME);
//创建连接
Connection con = DriverManager.getConnection(URL, "scott", "tiger");
//定义SQL语句
String sql = "insert tb_0325(sid,sname,spwd,ssex,shobby,saddress,sbak)values(?,?,?,?,?,?,?)";
//获取执行对象
PreparedStatement ps = con.prepareStatement(sql);
//给占位符赋值
ps.setInt(1, Integer.parseInt(id));//String-->int
ps.setString(2, name);
ps.setString(3, pwd);
ps.setString(4, sex);
ps.setString(5, hobby);
ps.setString(6, address);
ps.setString(7, bak);
//开始执行 增删改int 查rs
int n = ps.executeUpdate();//影响行数
//关闭资源 增删改2个 查3个
if(con!=null&&!con.isClosed()){//不为空且没有关
con.close();
}
if(ps!=null){
ps.close();
}
//判断
if(n>0){
out.print("插入成功");
}
else{
out.print("插入失败");
}
说明:连的数据库是PL/SQL 即Oracle 在开服务时注意在没有互联网的情况下 避免无网络下可以用
具体相关的三个界面的代码:
login:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
注册界面
效果图:
dologin:
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@page import="oracle.jdbc.driver.OracleDriver"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
//纯java代码
//设置编码方式
request.setCharacterEncoding("utf-8");
//接收表单提交过来的值(用户名&密码)
String id = request.getParameter("iid");
String name = request.getParameter("iname");
String pwd = request.getParameter("ipwd");
//取不同的类型的值
//取 性别 地址 备注 的值
String sex = request.getParameter("isex");
String address = request.getParameter("iaddress");
String bak = request.getParameter("ibak");
//取爱好的值
String[] ss=request.getParameterValues("ihobby");
String hobby=" ";//用来拼接
//循环遍历
for(String s:ss){
hobby+=s+",";//用逗号隔开
}
//如果看不惯最后那个逗号 大家可以用substring截取掉
//jdbc连接Oracle 插入到数据库中
//作业1 sid:使用触发器+序列实现标识列效果
//两个常量
String URL = "jdbc:oracle:thin:@localhost:1521:orcl";
String CNAME = "oracle.jdbc.driver.OracleDriver";
//OracleDriver
//加载驱动
Class.forName(CNAME);
//创建连接
Connection con = DriverManager.getConnection(URL, "scott", "tiger");
//定义SQL语句
String sql = "insert tb_0325(sid,sname,spwd,ssex,shobby,saddress,sbak)values(?,?,?,?,?,?,?)";
//获取执行对象
PreparedStatement ps = con.prepareStatement(sql);
//给占位符赋值
ps.setInt(1, Integer.parseInt(id));//String-->int
ps.setString(2, name);
ps.setString(3, pwd);
ps.setString(4, sex);
ps.setString(5, hobby);
ps.setString(6, address);
ps.setString(7, bak);
//开始执行 增删改int 查rs
int n = ps.executeUpdate();//影响行数
//关闭资源 增删改2个 查3个
if(con!=null&&!con.isClosed()){//不为空且没有关
con.close();
}
if(ps!=null){
ps.close();
}
//判断
if(n>0){
out.print("插入成功");
}
else{
out.print("插入失败");
}
//页面跳转方式
//假设法:假设数据表里面存在用户名为admin的用户
%>
success:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
欢迎<%=request.getParameter("iname") %>来到90年代的快乐星球!



