目录
request.getParameter():获取的是一个值(比如姓名,密码等)
request.getParameterValues():获取的是多个值(比如兴趣爱好等有多个值的)
1.导入驱动(sqlserver,oracle,mysql)
一,知识回顾
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();
}
今天的代码知识小分享就到这里啦,更多代码知识 ,精彩下期继续哦。