JavaWeb03(页面跳转方式&JDBC&JSP数据交互)

目录

一,知识回顾

1.获取来自前端的数据:

request.getParameter():获取的是一个值(比如姓名,密码等)

request.getParameterValues():获取的是多个值(比如兴趣爱好等有多个值的)

2.登陆验证:

3.将请求中的字符编码设置为中文

二,页面跳转

 在html当中,想实现页面的跳转有两种方式:

1.用a标签来实现页面跳转

2.用JS语句

使用Java进行跳转 

1.转发:

2.重定向:

三,数据库的连接步骤

1.导入驱动(sqlserver,oracle,mysql)

 2.编写连接语句

3.获得连接

4.获得预编译对象(执行对象)

5.获得结果集(或者结果)

6.判断

7.关闭资源


一,知识回顾

1.获取来自前端的数据:

注意:需要给输入框设置name属性,这样才方便后期取值

request.getParameter():获取的是一个值(比如姓名,密码等)

request.getParameterValues():获取的是多个值(比如兴趣爱好等有多个值的)

2.登陆验证:

注意:在做if判断时不要把拿到的前端数据放在前面比较,因为这样可能会拿到null值

out.print()它是可以识别html语句的

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
	//获取来自于前端的数据,通过name属性
	String name=request.getParameter("username");
	String pwd=request.getParameter("userpwd");
	
	//登陆验证
	if("sa".equals(name)&&"123".equals(pwd)){
		out.print("登陆成功");
	}else{
		out.print("登陆失败");
	}
%>
</body>
</html>

3.将请求中的字符编码设置为中文

大家在下代码时是否遇到过乱码的情况呢,而乱码的大部分原因就是因为代码中有中文的存在,而网络中的数据传输都是字节,文字就会让其产生乱码的情况。所以这个时候就需要我们手动将请求中的字符编码设置为中文。

request.setCharacterEncoding("utf-8");

注意:utf-8的编码格式是支持中文的,并且需要注意,这行代码必须放在最上方,否则可能会无效(代码执行的顺序都是从上到下的,不能先运行代码再换编码格式)


二,页面跳转

 在html当中,想实现页面的跳转有两种方式:

1.用a标签来实现页面跳转

但是需要注意,这种方法需要用户手动点击跳转,并不是很完美。

out.print("<a href='login.jsp'>点我返回登录界面</a>);//不要忘了 out.print是可以输出html语句的

2.用JS语句

而这种方法可以实现自动跳转界面,比较方便快捷

Location.href='xxxx';//JS中的跳转

out.print("<script>location.href'home.jsp'</script>);

使用Java进行跳转 

1.转发:

例如:一个人去商店买东西,发现商店缺货了,商店就去进货,然后那个人买到了需要的东西。

特点:1.转发只发生了一个请求(只去了一个商店)

           2.它是服务器行为(在服务器内部进行的)

           3.转发可以携带数据

           4.转发的路径不会发生改变

【转发】request.getRequestDispatcher("home.jsp").forward(request, response);

2.重定向:

例如:一个人去商店买东西,发现商店缺货了,然后换了一家店买到了想要的东西。

特点:1.重定向发生了多个请求(去了两个商店)

           2.它是客户端行为(是客户端发来多个请求)

           3.重定向不可以携带数据

           4.重定向的路径会发生改变

【重定向】response.sendRedirect("home.jsp");

三,数据库的连接步骤

1.导入驱动(sqlserver,oracle,mysql)

导入准备好的jar包,并且必须放在 WEB-INF 中的 lib 里面去,千万记得必须执行 build path

Class.forName("oracle.jdbc.driver.OracleDriver");

 2.编写连接语句

String url="jdbc:oracle:thin:@localhost:1521:orcl"; 

打开oracle服务:开两个(服务,监听) win+x,g 要与后面的保持一致,如果不是orcl,就改成与你电脑上一致的

1. win+x 打开任务管理器,选择服务和应用程序

 2.找到服务

 3.找到oracle 查看名称是否一致(不区分大小写)

3.获得连接

Connection con=DriverManager.getConnection(url,"scott","tiger");

4.获得预编译对象(执行对象)

   PreparedStatement ps=con.prepareStatement("select * from t_user where user_name=?     and user_pwd=?");//在这里进行登陆操作,所以用查询语句

//给占位符赋值
    ps.setString(1, name);
    ps.setString(2, pwd);

5.获得结果集(或者结果)

ResultSet rs=ps.executeQuery();

6.判断

    if(rs.next()){
        request.getRequestDispatcher("home.jsp").forward(request, response);
    }else{
        response.sendRedirect("login.jsp");
    }

7.关闭资源

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


今天的代码知识小分享就到这里啦,更多代码知识 ,精彩下期继续哦。

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值