在java中out.print()是可以输出html语句的
跳转:
out.print("点我返回登入页面")//这个也是可以跳转的
还有:回顾我们的js跳转 location.href="xx"
这里我们新建一个我们要跳转的页面 名字(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");
}
%>
转发 意思:(就是如果 你找一个人借东西但他没有 然后他就找别人借给你 然后别人就把东西给他再给你)
如图
重定向 意思:(就是如果 你找一个人借东西但他没有 然后他(叫你)找别人借给你 然后别人就东西直接交给你手上
如图
区别:
转发是服务器行为,重定向是客户端行为
转发可携带数据(request中的数据),但重定向不行
转发的页面的路径不会发生改变,但重定向会发生
.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
语句步骤
- 导入oracle驱动
注:切记一定要把驱动包 导在 (web-INF )下的lib里面
右键打开 找到build path 点击牛奶瓶
添加完之后 上边就会显示一个牛奶瓶 如图:
这样我们的驱动就可用了 然后我们就可以进行下一步操作了 导包:
这里我们选择第二个 长一点的
然后我们代码的上面就会出现刚刚导好包的语句
然后我们把 双引号里面 的复制下来 加载驱动 Class.forName("oracle.jdbc.driver.OracleDriver");
编写链接
连接驱动
String URL=“jdbc:oracle:thin:@localhost:1521:orcl”;
意 /oracle连接:这里的thin是驱动名称(不能修改!!!)
//@localhost代表本机 1521是oracle提供的端口
//后面orcl是Oracle数据库名称 因为Oracle只有一个数据库我们就固定填这个 (但它有多个用户)
获得连接
打开Oracle服务(要开两个)win+x,g
进来之后点击黑色方块里的服务 然后进入
进来之后我们首先看到的不是这个界面 (点击服务里面的任意一个(不要点进去))打上一个O就可以看到 所有Oracle服务 我们点击 黑色方块里的两个服务右键开起 就可以开始连接了 获取连接 Connection con=DriverManager.getConnection(URL,"用户名","密码"); 用户名和密码 填写你数据库登入的密码
获得预编译对象(执行对象)
到这里 就可以去数据库建表了
建好表之后 写上 查询语句 把它复制过来
PreparedStatement pre=con.preparStatement("这里写你的查询语句")
如果你写的是占位符(给占位符赋值)
ps.setString (1 , name );//用户名 ps.setString (1 , pwd );//密码
获取结果集
resultset rs=ps.executeQuery();//获取结果集
判断(结果集里面东西 有 无?)也可以说是登入验证
if(rs.next){ request.getRequestDispatcher("home.jsp").forward(request,response) }else{ response.sendRedirect("login.jsp") }
关闭资源
if(con!=null&&!con.isClosed()){ con.close(); } if(ps!=null){ ps.close(); } if(rs!=null){ rs.close(); } 本期内容 到此结束