javaWeb08:application&JavaBean封装

一、application

index.jsp

代码展示:

效果图:

 

每刷新一次 都会进行数量的增加

二、JavaBean封装:把jsp文件中的重复的代码写入JavaResource--scr中,在src建包 建类

 dologin.jsp

<% 
    //设置编码方式
    request.setCharacterEncoding("utf-8");
    //接收表单提交过来的值:用户名 密码 根据name值取value值
    String name = request.getParameter("aa");
    String pwd = request.getParameter("bb");
    /* //jdbc连接Oracle做判断
    String URL = "jdbc:oracle:thin:@localhost:1521:orcl";
    String CNAME = "oracle.jdbc.driver.OracleDriver";
    //加载驱动
    Class.forName(CNAME);
    //创建连接
    Connection con = DBHelper.getCon();
    //定义SQL语句
    String sql = "select * from tb_0325 where sname=? and spwd=?";
    //获得执行对象
    PreparedStatement ps = con.prepareStatement(sql);
    //给占位符赋值
    ps.setString(1, name);
    ps.setString(2, pwd);
    //开始执行
    ResultSet rs = ps.executeQuery();
    //判断遍历
    if(rs.next()){ */

        //调用登录的dao方法
        UserDao ud = new UserDao();
        boolean f = ud.login(name, pwd);
        if(f){
        //说明登录成功 跳转到新闻发布系统的管理员界面

       
        
        //使用Cookie判断用户是否登录
            Cookie c=new Cookie("sname",name);//name,value
        //获取复选框的勾选状态
        String ck=request.getParameter("dd");
        //System.out.print(ck);
        if(ck!=null){
            //设置Cookie的有效期 10s 一周内免登录
            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>");
    }

    /* //关闭资源
    if(con!=null&&!con.isClosed()){
        con.close();
    }
    if(ps!=null){
        ps.close();
    }
    if(rs!=null){
        rs.close();
    DBHelper.myClo(con, ps, rs);
    } */


%>

将浅粉色部分的代码写入中

DBHelper.java

package com.zking.util;
/**
 * 数据库辅助类
 * @author Anny
 *
 * @date下午2:46:26
 */

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

public class DBHelper {
    //两个静态常量
    private static final String URL = "jdbc:oracle:thin:@localhost:1521:orcl";
    private static final String CNAME = "oracle.jdbc.driver.OracleDriver";
    
    /**
     * 加载驱动
     */
    static {
        try {
            Class.forName(CNAME);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    
    /**
     * 创建连接
     * @return 返回连接
     */
    public static Connection getCon() {
        Connection con = null;
        try {
            con = DriverManager.getConnection(URL,"scott","tiger");
        } catch (Exception e) {
            e.printStackTrace();
        }
        return con;
    }
    
    /**
     * 关闭资源
     * @param con 连接
     * @param ps  执行对象
     * @param rs  结果集
     */
    public static void myClo(Connection con,PreparedStatement ps,ResultSet rs) {
        try {
            if(con!=null&&!con.isClosed()){
                con.close();
            }
            if(ps!=null){
                ps.close();
            }
            if(rs!=null){
                rs.close();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

UserDao.java

import com.zking.util.DBHelper;

/**
 * dao方法
 * @author Anny
 *
 * @date下午3:12:11
 */
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做判断
            String URL = "jdbc:oracle:thin:@localhost:1521:orcl";
            String CNAME = "oracle.jdbc.driver.OracleDriver";
            //加载驱动
            Class.forName(CNAME);
            //创建连接
            //Connection con = DriverManager.getConnection(URL,"scott","tiger"); 
             con = DBHelper.getCon();
            //定义SQL语句
            String sql = "select * from tb_0325 where sname=? and spwd=?";
            //获得执行对象
            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.myClo(con, ps, rs);
        }
        return f;
        //return u;
    }
    
}
 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值