Web上课内容——session的运用

1. 知识点

(1)session被称为会话,指从浏览器访问一个Web应用到离开这个Web应用的整个过程。

(2)在这个过程中,应用服务器从接收到第一次请求开始会为访问者生成一个唯一的session对象,这个对象在此会话过程中始终存在,用于存放这一过程中需要保存的数据。

(3)设置

session.setAttribute("属性名", 字符)

(4)提取

session.getAttribute("属性名")

(5)去除

session.removeAttribute("属性名")

2. 上课案例

(1) 按照以下图片进行创建目录文件

(2)index.jsp

<%@ page language="java" contentType="text/html;"
    pageEncoding="UTF-8"%>
    
<%
	session.removeAttribute("name");
%>    
      
<!DOCTYPE html>
<html>
	<head>
	<meta charset="UTF-8">
	<title>登录界面</title>
	</head>
	<body>
	<center>
		<h1>输入个人信息</h1>
		<form action="a.jsp"/>
			用户名:<input type="text" name="username" value=<%=request.getParameter("n") %>>
			密码:<input type="text" name="password">
			<input type="submit" value="提交" />
			<input type="reset" value="重置" />
		</form>
	</center>
	</body>
</html>
 
<%
	String error = (String)request.getAttribute("error");
	if (error != null){
		out.println("<font color='red'>"+error+"</font>");
	}
 
%>

(3)a.jsp

<%@ page language="java" contentType="text/html;"
    pageEncoding="UTF-8"%>
    
<%
    // 接收用户名和密码
	String n = (String)request.getParameter("username");
    String p = (String)request.getParameter("password");
%>


<!DOCTYPE html>
<%
        String error = "";
		// 中文显示问题
		request.setCharacterEncoding("UTF-8");
		// 判断用户名是否为空
		if (n.equals("")){
			error = "用户名未输入!";
		}
		// 判断密码是否为空
		else if (p.equals("")){
			error = "密码未输入!";
		}
		// 判断用户名和密码是否输入错误
		else if (!n.equals("Li Hua") || !p.equals("123")){
			error = "用户名或者密码输入错误!";
		}
		// 没有错误则将登陆的用户名存入session会话中
		if (error.equals("")){
			session.setAttribute("name", n);
%>		
			
		<h1>Hello,<font color="red"><%=n%></font>,恭喜你登录成功</h1>
		at a.jsp<br>
		<a href="b.jsp">to b.jsp</a><br>
		<a href="c.jsp">to c.jsp</a><br>
		<a href="index.jsp">退出</a><br>

<%
		}
		else{
			request.setAttribute("e", error);
			request.getRequestDispatcher("index.jsp").forward(request, response);
		}
%>

(4)b.jsp

<%@ page language="java" contentType="text/html;"
    pageEncoding="UTF-8"%>
    
<%
    // 从session中提取用户名的信息
	String n = (String)session.getAttribute("name");
%>
<!DOCTYPE html>
<html>
	<head>
	<meta charset="UTF-8">
	
	<title>b.jsp page</title>
	
	</head>
	<body>
    <h1>这里是B页面,你好<font color="red"><%=n %>></font></h1>
    at b.jsp<br>
    <a href="a.jsp">to b.jsp</a><br>
	<a href="c.jsp">to c.jsp</a><br>
	<a href="index.jsp">to index.jsp</a><br>
	</body>
</html>

(5)c.jsp

<%@ page language="java" contentType="text/html;"
    pageEncoding="UTF-8"%>
    
<%
    // 从session中提取用户名的信息
	String n = (String)session.getAttribute("name");
%>
<!DOCTYPE html>
<html>
	<head>
	<meta charset="UTF-8">
	
	<title>c.jsp page</title>
	
	</head>
	<body>
    <h1>这里是C页面,你好<font color="red"><%=n %>></font></h1>
    at b.jsp<br>
    <a href="a.jsp">to b.jsp</a><br>
	<a href="b.jsp">to c.jsp</a><br>
	<a href="index.jsp">to index.jsp</a><br>
	</body>
</html>

(6)运行结果

index.jsp

 a.jsp

 

b.jsp 

c.jsp 

 

 

index.jsp(退出) 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Web开发中,Session是一种在服务器端存储用户数据的方式,可以在多个页面中共享这些数据。Session通常用于存储用户登录信息、购物车信息等。 在Python中,可以使用内置的`session`对象来实现Session功能。下面是一个简单的例子: ```python from flask import Flask, session, redirect, url_for, escape, request app = Flask(__name__) app.secret_key = 'my_secret_key' @app.route('/') def index(): if 'username' in session: username = session['username'] return 'Logged in as ' + username + '<br>' + \ "<b><a href = '/logout'>click here to log out</a></b>" return "You are not logged in <br><a href = '/login'></b>" + \ "click here to log in</b></a>" @app.route('/login', methods=['GET', 'POST']) def login(): if request.method == 'POST': session['username'] = request.form['username'] return redirect(url_for('index')) return ''' <form action="" method="post"> <p><input type="text" name="username"> <p><input type="submit" value="Login"> </form> ''' @app.route('/logout') def logout(): session.pop('username', None) return redirect(url_for('index')) ``` 在上面的例子中,我们使用了Flask框架来实现Web应用。在应用启动时,我们设置了一个`secret_key`,这个密钥用于保护Session数据的安全性。 在`index`函数中,我们检查了Session中是否存在`username`键。如果存在,说明用户已经登录,我们将显示用户的用户名和一个链接,可以用于退出登录。如果不存在,说明用户尚未登录,我们将显示一个登录链接。 在`login`函数中,我们检查了请求的方法是否为POST。如果是,说明用户提交了登录表单,我们将从表单中获取用户名,并将其存储到Session中。然后,我们将重定向到`index`函数中。如果请求的方法为GET,我们将显示一个包含用户名输入框和提交按钮的表单。 在`logout`函数中,我们使用`pop`方法从Session中删除`username`键。然后,我们将重定向到`index`函数中。 总之,Session是一个非常有用的工具,可以帮助我们在Web应用中存储和共享用户数据。使用Python中的`session`对象可以很容易地实现Session功能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值