新手javaweb教程(servlet+jdbc+IDEA)学生作业,无框架

直接开撸(因为没什么好说,我自己都不太会,嘻嘻)
一、准备
1.mysql的jar包
下载地址:https://www.runoob.com/java/java-mysql-connect.html
2.IDEA编译器
3.tomcat
下载地址:https://tomcat.apache.org/download-90.cgi,注意你的电脑是32位还是64位的,看着下
二、了解分层开发思想(放上大佬的图片)新手javaweb教程(servlet+jdbc+IDEA)学生作业,无框架_第1张图片
我自己项目的结构(偷懒少了个服务层)
新手javaweb教程(servlet+jdbc+IDEA)学生作业,无框架_第2张图片
User.java代码
(这个可以不写的,我这个瞎几把写着,没用的)

三、开撸
创建项目
新手javaweb教程(servlet+jdbc+IDEA)学生作业,无框架_第3张图片
新手javaweb教程(servlet+jdbc+IDEA)学生作业,无框架_第4张图片

package domain;
//User.java代码
public class User {
    private String username;
    private String password;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

userDao.java的diamante。这个是dao层,处理sql语句的,例如:用户注册了,在dao层写上insert语句
我里面写了增删查改,喜欢用哪种就用哪种

package UserDao;
import Utils.DButils;
import domain.User;
import org.junit.Test;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

public class userDao {
    public void select(String username ,String password){
        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;

        try {
            conn = DButils.getConnection();
            stmt = conn.createStatement();
            rs = stmt.executeQuery("select * from users where "+username+"and"+password);
            List list = new ArrayList();
            while (rs.next()){
                User u = new User();
                u.setUsername(rs.getString(1));
                u.setPassword(rs.getString(2));
            }
            for (User user :list){
                System.out.println(user);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            DButils.closeAll(rs,stmt,conn);
        }

    }
    public void insert(String username,String password){
        Connection conn = null;
        Statement stmt = null;


        try {
            conn = DButils.getConnection();
            stmt = conn.createStatement();
            int i = stmt.executeUpdate("insert into users values (" + username + "," +password + ")");
            if(i>0){
                System.out.println("success");
            }


        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            DButils.closeAll(null,stmt,conn);
        }

    }
    @Test
    public void update(){
        Connection conn = null;
        Statement stmt = null;


        try {
            conn = DButils.getConnection();
            stmt = conn.createStatement();
            int i = stmt.executeUpdate("update users set  username ='mike',password='123546' where username ='jerry '");
            if(i>0){
                System.out.println("success");
            }


        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            DButils.closeAll(null,stmt,conn);
        }

    }
    @Test
    public void delete(){
        Connection conn = null;
        Statement stmt = null;


        try {
            conn = DButils.getConnection();
            stmt = conn.createStatement();
            int i = stmt.executeUpdate("delete from users where username='mike'");
            if(i>0){
                System.out.println("success");
            }


        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            DButils.closeAll(null,stmt,conn);
        }

    }
}

register.java的代码。这个是servlet,记得创建的时候选择servlet

package Servlet;

import UserDao.userDao;

import java.io.IOException;

public class regServlet extends javax.servlet.http.HttpServlet {
    protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {
    	//获取表单数据
        request.setCharacterEncoding("UTF-8");
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        System.out.println(username+"+"+password);

        //注册
        userDao ud  = new userDao();
        ud.insert(username,password);
    }

    protected void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {
    }
}
DBuitls.java的代码,这是一个工具类,封装好了连接数据库的代码

在这里插入代码片

package Utils;

import org.junit.Test;

import java.sql.*;
import java.util.ResourceBundle;

public class DButils {
    private static String url;
    private static String username;
    private static String password;
    static {
        //此对象用于加载dbinfo.properties资源文件
        ResourceBundle rb = ResourceBundle.getBundle("dbinfo");
        String driverClass = rb.getString("driverClass");
        url =rb.getString("url");
        username =rb.getString("username");
        password =rb.getString("password");
        try {
            Class.forName(driverClass);

        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }

    }
    //得到连接的方法
    public static Connection getConnection() throws Exception {

            return DriverManager.getConnection(url,username,password);



    }
    //关闭资源的方法
    @Test
    public static void closeAll(ResultSet rs , Statement stmt,Connection conn){
        if (rs!= null){
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if (stmt!=null){
            try {
                stmt.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if (conn!= null){
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

properties的创建方式
新手javaweb教程(servlet+jdbc+IDEA)学生作业,无框架_第5张图片
dbinfo.properties 的代码(密码自己写,3306/后面接着是你要连接数据库的名字)

driverClass = com.mysql.jdbc.Driver
url = jdbc:mysql://localhost:3306/testjdbc
username = root
password =

index.jsp的代码,主要是form里面的东西,其他都是配置好的


<%@ page contentType="text/html;charset=UTF-8" language="java" %>

  
    $Title$
  
  
  
用户名:
密码:

最后配置web.xml(就是配置servlet和servlet-mapping)




    
        regServlet
        Servlet.regServlet
    
    
        regServlet
        /reg
    

配置一下tomcat
新手javaweb教程(servlet+jdbc+IDEA)学生作业,无框架_第6张图片
加号
新手javaweb教程(servlet+jdbc+IDEA)学生作业,无框架_第7张图片
新手javaweb教程(servlet+jdbc+IDEA)学生作业,无框架_第8张图片
下面改成你项目名称,然后就配置完成
新手javaweb教程(servlet+jdbc+IDEA)学生作业,无框架_第9张图片
最后导入jar包
新手javaweb教程(servlet+jdbc+IDEA)学生作业,无框架_第10张图片
新手javaweb教程(servlet+jdbc+IDEA)学生作业,无框架_第11张图片
找到你jar包路径,然后狂点OK。
遇到错误就alt+回车。
然后就可以了,这个东西可以解决大部分学生的作业
四、最后提一下
1.我的dao层的mysql语句没有用框架,还是用的字符串拼接
2.dao层里面的方法可以加参数,但拼接的时候要小心

有不懂的可以留言

你可能感兴趣的:(IDEA,servlet,jdbc,新手)