JAVABean

基本使用方法

使用bean主要是加强了代码复用性,后台和前端的逻辑分离

类必须是具体的和公共的,并且具有无参数的构造器
不一定有变量
定义私有属性(私有是必须设置的)
Static 类变量不会封装到对象中,单独找了块地址

若果要创建构造方法,必须先创建无参构造方法
然后可继续创建构造方法

用public get()方法,set()方法查看和更改值,不同包里使用,public可以使所有包里的页面访问

创建方法函数,

在servelt里使用 XXXBean xxxBean =new XXXBean() 创建对象
xxxBean.set();

以下为jdbc放在bean里的实例

loginBean

package loginBean;

import java.sql.*;

public class loginbean {
    private String sql1="jdbc:mysql://127.0.0.1:3306/one?user=root&password=123456&serverTimezone=Asia/Shanghai&useSSL=false";//jdbc
    private String sql2="select * from login where username=? and password=?";//查询sql语句
    private String sql3="insert into login values(?,?,?,?,?)";//插入sql语句
    ResultSet resultSet1=null;
    Connection connection=null;
    ResultSet resultSet=null;
    
    PreparedStatement preparedStatement=null;
    public loginbean(){//构造方法,一旦调用直接连接
    try {
        Class.forName("com.mysql.cj.jdbc.Driver");
        connection = DriverManager.getConnection(sql1);
    } catch (ClassNotFoundException | SQLException e) {
        e.printStackTrace();
    }
    }
    //查询方法executeQuery
    public ResultSet lianjie1_chaxun(String username, String password){
        try {
            preparedStatement= connection.prepareStatement(sql2);
            preparedStatement.setString(1,username);//set。。。与数据库字段类型对应
            preparedStatement.setString(2,password);//set。。。与数据库字段类型对应
            resultSet=preparedStatement.executeQuery();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return resultSet;
    }
    //插入方法executeUpdate()
    public String lianjie1_charu(String username,String password,String specialty,String sex,int age){
        try {
            preparedStatement= connection.prepareStatement(sql3);
            preparedStatement.setString(1,username);
            preparedStatement.setString(2,password);
            preparedStatement.setString(3,specialty);
            preparedStatement.setString(4,sex);
            preparedStatement.setInt(5,age);
            preparedStatement.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return "插入成功";
    }
    //关闭连接
    public void closeall(){
        if (resultSet1!=null){
            try {
                resultSet1.close();
            }catch (SQLException throwables){
                throwables.printStackTrace();
            }
        }
        if (preparedStatement!=null){
            try {
                preparedStatement.close();
            } catch (SQLException throwables) {
                throwables.printStackTrace();
            }
        }
        if (connection!=null){
            try {
                connection.close();
            } catch (SQLException throwables) {
                throwables.printStackTrace();
            }
        }
    }

}

Servlet_login1

package zhucedenglu;
import loginBean.loginbean;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.PreparedStatement;
import java.sql.SQLException;
@WebServlet(name = "Servlet_login1", value = "/Servlet_login1")
public class Servlet_login1 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=utf-8");
        response.setCharacterEncoding("utf-8");
        request.setCharacterEncoding("utf-8");
        String u=request.getParameter("username");
        String p=request.getParameter("password");
        PrintWriter out=response.getWriter();
        loginbean loginbean1=new loginbean();
        try {
            while (loginbean1.lianjie1_chaxun(u,p).next()) {
                if (loginbean1.lianjie1_chaxun(u,p).next()) {
                    RequestDispatcher requestDispatcher=request.getRequestDispatcher("/index.jsp");
                    requestDispatcher.forward(request,response);
                } else {
                    out.println("滚");
                }
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        loginbean1.closeall();
    }
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }
}

login1.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<form action="Servlet_login1" method="get">
    用户名:<input type="text" name="username"><br>
    密码:  <input type="password" name="password"><br>
    <input type="submit" value="登录">
</form>
</body>
</html>

Servlet_register1

package zhucedenglu;

import loginBean.loginbean;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;

@WebServlet(name = "Servlet_register1", value = "/Servlet_register1")
public class Servlet_register1 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=utf-8");
        response.setCharacterEncoding("utf-8");
        request.setCharacterEncoding("utf-8");
        String u=request.getParameter("username");
        String p=request.getParameter("password");
        String s=request.getParameter("specialty");
        String sex=request.getParameter("sex");
        String a=request.getParameter("age");
        int age=Integer.parseInt(a);

        loginbean loginbean=new loginbean();
        if (loginbean.lianjie1_charu(u,p,s,sex,age).equals("插入成功")){
            RequestDispatcher requestDispatcher=request.getRequestDispatcher("/login1.jsp");
            requestDispatcher.forward(request,response);
        }
        loginbean.closeall();
    }
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    }
}

register1.jsp

<html>
<head>
    <title>Title</title>
</head>
<body>
<script type="text/javascript">
    function cancel(){
        window.opener=null;
        window.open("","_self");
        window.close();
    }
    function test(){
        if(logoin.username.value=="" ||
            logoin.password.value=="" ||
            logoin.password2.value=="" ||
            logoin.specialty.value=="" ||
            logoin.sex.value=="" ||
            logoin.age.value==""){
            alert("数据不能为空");return
        }
        if (logoin.password.value!=logoin.password2.value){
            alert("两遍密码不一致");return;
        }
        else {
            logoin.submit();
        }
    }
</script>
<form action="Servlet_register1" method="get" name="logoin">
    昵称:<input type="text" name="username"><br>
    密码:  <input type="password" name="password"><br>
    确认密码:<input type="password" name="password2"><br>
    专业:<select name="specialty">
    <option value="计科" selected>计科</option>
    <option value="软件工程" selected>软件工程</option>
    <option value="物联网工程" selected>物联网工程</option>
</select><br>
    性别:<input type="radio" name="sex" value="male" checked><input type="radio" name="sex" value="female"><br>
    年龄:<input type="text" name="age"><br>
    <input type="button" value="注册" onclick="test()">
    <input type="button" value="取消" onclick="cancel()">
</form>
</body>
</html>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值