0
点赞
收藏
分享

微信扫一扫

JSP的页面跳转方式和JDBC

爱薇Ivy趣闻 2022-03-26 阅读 50

JSP的页面跳转方式和JDBC

页面跳转方式:

JDBC:

实例:

登录界面:login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Login</title>
</head>
<body>
<%--
表单(form)
	action:表单提交的地址
	method:表单提交的方式
		* get(默认) 显示在地址栏上,数据长度有限制
		* post 不显示在地址栏上,且数据长度没有限制
必须携带name属性,不然接收不到数据
--%>
<form action="doLogin.jsp" method="post">
<p>
	<input type="text" name="username" placeholder="请输入用户名">
</p>
<p>
	<input type="password" name="password" placeholder="请输入密码">
</p>
<p>
	<button>登录</button>
</p>
</form>
</body>
</html>

效果如下:

在这里插入图片描述

处理登录请求:doLogin.jsp

<%@page import="java.sql.ResultSet"%>
<%@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"%>
<!-- 处理登录请求 -->
<%
	//网络中的数据传输使用的都是字节,字节转文字会出现乱码现象,所以需要修改一下请求中的字符编码
	request.setCharacterEncoding("UTF-8");//修改请求中的字符编码
	//获取来自于前端的数据
	String username=request.getParameter("username");
	String password=request.getParameter("password");
	//导入驱动(sqlserver,oracle,mysql),一定要执行 build path,且需要导入对应的jar包
	//OracleDriver
	Class.forName("oracle.jdbc.driver.OracleDriver");//这里使用的是oracle的驱动
	//编写连接语句
	String URL="jdbc:oracle:thin:@localhost:1521:orcl";
	//获得连接
	Connection con=DriverManager.getConnection(URL, "scott", "tiger");
	//获得预编译对象(执行对象)
	String sql="SELECT * FROM TB_USER WHERE USE_NAME=? AND USE_PWD=?";
	PreparedStatement ps=con.prepareStatement(sql);
	ps.setString(1, username);
	ps.setString(2,password);
	//获得结果集
	ResultSet rs=ps.executeQuery();	
	//做登录验证
	if(rs.next()){
		//转发(携带请求数据)
		//request.getRequestDispatcher("home.jsp").forward(request, response);
		//重定向(不携带请求数据)
		response.sendRedirect("home.jsp");
	}else{
        //账号错误刷新登录界面
		response.sendRedirect("login.jsp");
	}
	//关闭资源
	if(con!=null&&!con.isClosed()){
		con.close();
	}
	if(ps!=null){
		ps.close();
	}
	if(rs!=null){
		rs.close();
	}
%>

主页:home.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Home</title>
</head>
<body>
<h1>绥彼岸首页</h1>
<h1>欢迎回家</h1>
<%
	//获取转发过来的数据
	//request.getParameter("username");
%>
</body>
</html>

登录成功后的效果如下(页面放大200%):

在这里插入图片描述

举报

相关推荐

javaWeb页面跳转方式&JDBC

javaWeb(页面跳转方式&JDBC)

JavaWeb页面跳转方式&JDBC

javaweb 页面跳转和jdbc

页面跳转&JDBC

javaweb_03(页面跳转方式&jdbc交互)

0 条评论