JavaWeb(application&JavaBean封装)

大家好!我是小何,今天呢和大家说一下这个javaWeb的application和javaBean封装

这个application类似于系统的“全局变量”,用于实现用户之间的数据共享

application对象的常用方法: void setAttribute(String key, Object value):以键/值的方式,将一个对象的值存放到application中

application.setAttribute("LOGINED_USER", new ArrayList());

Object getAttribute(String key):根据键去获取application中存放对象的值

if (application.getAttribute("LOGINED_USER") != null) { List loginedUsers = (List) application.getAttribute("LOGINED_USER"); }

简单的介绍一下

进入正题,看看application做出来的网页访问,代码如下

<body>
	<%
		//application的作用域:在服务器的打开和关闭之间有效 
		//应该先拿值
		Integer count=(Integer)application.getAttribute("count");
		if(count!=null){//拿到了 说明以前有人访问过 
			count++;//在原来的访问量上递增1 
		}
		else{
			count=1;
		}
		application.setAttribute("count", count);//存值 键,值 
	%>
	您是第<%=application.getAttribute("count") %>位访问该网站的用户.
</body>

使用后的效果 是这样的,只要你每次刷新都会递增,你换网站同理

 ok,application说完了,现在来说一下JavaBean封装,

首先我们要知道为什么需要JavaBean封装,先来说一下JavaBean封装弊如下

 JavaBean的优势呢如下:

解决代码重复编写,减少代码冗余 功能区分明确,避免业务逻辑处理与页面显示处理集中在一起造成混乱 提高了代码的维护性

ok,现在我们简单的来看一下代码,先看dao方法

package com.zking.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

import com.zking.util.DBHelper;

/**
 * dao方法
 * @author Janet
 *
 * @date 2022年4月5日 上午19:55:24
 */
public class UserDao {
	
	//三兄弟
	private Connection con=null;
	private PreparedStatement ps=null;
	private ResultSet rs=null;

	/**
	 * 登录
	 * @param uname 用户名
	 * @param upwd 密码
	 * @return 登录成功与否 
	 * 
	 * 建议大家也可以返回User对象 
	 */
	public boolean login(String uname,String upwd) {
		boolean f = false;
//		User u = null;
		try {
			//jdbc连接Oracle做判断 
			con=DBHelper.getCon();
			//定义sql语句
			String sql="select * from yh where yname=? and ypwd=?";
			//获得执行对象
			ps=con.prepareStatement(sql);
			//给占位符赋值
			ps.setString(1, uname);
			ps.setString(2, upwd);
			//开始执行
			rs=ps.executeQuery();
			//判断 遍历
			if(rs.next()){//说明登录成功 
				f = true;
//				u = new User(rs.getInt(1).......);
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {//不管是否发生异常 资源都要关
			DBHelper.myClose(con, ps, rs);
		}
		return f;
//		return u;
	}
	
}

接着是下面的

<%@page import="com.zking.dao.UserDao"%>
<%@page import="com.zking.util.DBHelper"%>
<%@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");
	//接收表单提交过来的值:用户名 密码  根据name值取value值 
	String name=request.getParameter("aa");
	String pwd=request.getParameter("bb");
	//调用登录的dao方法
	UserDao ud=new UserDao();
	boolean f=ud.login(name, pwd);
	if(f){
		
		
		//使用Cookie判断用户是否登录
		Cookie c=new Cookie("sname",name);//name,value
		//设置Cookie的有效期 10s 一周内免登陆 
		//获取复选框的勾选状态
		String ck=request.getParameter("dd");
		if(ck!=null){//说明勾选了
			c.setMaxAge(60*60*24*7);
		}
		//写入响应
		response.addCookie(c);
		
		//重定向
		response.sendRedirect("news/admin.jsp");
		
		//转发
		//request.getRequestDispatcher("news/admin.jsp").forward(request, response);
	}
	else{
		//说明登录失败
		out.print("<script>alert('用户名或者密码有误');location.href='login.jsp';</script>");
	}
	
	
	
%>

这和之前登陆方法一样的,ok今天的内容到此结束

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值