javaweb 三层架构

三层是指: 表示层,业务逻辑层,和数据访问层

 

三层架构和 mvc 的对比

 

三层架构的运行流程:

 

代码:

首先是导包:

大致方向:

 

 

 

bean

package 三层架构.student.bean;

public class Student {
private int id ;
private String name;
private String age;
private String address;
public int getId() {
    return id;
}
public Student(String age, String address) {
    super();
    this.age = age;
    this.address = address;
}
public Student(String name, String age, String address) {
    super();
    this.name = name ;
    this.age = age;
    this.address = address;
}
public void setId(int id) {
    this.id = id;
}
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
public String getAge() {
    return age;
}
public void setAge(String age) {
    this.age = age;
}
public String getAddress() {
    return address;
}
public void setAddress(String address) {
    this.address = address;
}
public Student(int id, String name, String age, String address) {
    super();
    this.id = id;
    this.name = name;
    this.age = age;
    this.address = address;
}
public Student() {
    super();
}
@Override
    public String toString() {
        // TODO Auto-generated method stub
        return this.getId()+"-" +this.getName()+"-"+this.getAge()+"-"+this.getAddress();
    }

}

dao

package 三层架构.student.dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import 三层架构.student.bean.Student;

public class studentdao {
    Connection connection = null;
    PreparedStatement preparedStatement = null;
    ResultSet resultSet = null;

    public boolean addstudent(Student student) {
        
        try {
            Class.forName("com.mysql.jdbc.Driver");
            connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/读取?characterEncoding=utf-8","root","021117");
            System.out.println("链接数据库成功");
            String sql = "insert into student(name,age,address) values (?,?,?)";
            preparedStatement = connection.prepareStatement(sql);
            preparedStatement.setString(1, student.getName());
            preparedStatement.setString(2, student.getAge());
            preparedStatement.setString(3, student.getAddress());
            int count =preparedStatement.executeUpdate();
            System.out.println("新增成功");
            if (count>0) {
                return true;
                
            }else {
                return false;
            }

        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return false;
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return false;
        }catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return false;
        }finally {
            try {
            
            if (preparedStatement!=null)    preparedStatement.close();
            if (connection!=null)    connection.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        
        
        
    }
    
    public boolean deletestudent(String name) {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/读取?characterEncoding=utf-8","root","021117");
            System.out.println("链接数据库成功");
            String sql = "delete from student where name = ?";
            preparedStatement = connection.prepareStatement(sql);
            preparedStatement.setString(1, name);
            int count =preparedStatement.executeUpdate();
            System.out.println("删除成功");
            if (count>0) {
                return true;
                
            }else {
                return false;
            }

        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return false;
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return false;
        }catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return false;
        }finally {
            try {
            
            if (preparedStatement!=null)    preparedStatement.close();
            if (connection!=null)    connection  .close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        
        
        
    }
    
    public boolean updatastudent(String name, Student student) {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/读取?characterEncoding=utf-8","root","021117");
            System.out.println("链接数据库成功");
            String sql = "update student set age=?, address =? where name =?    ";
            preparedStatement = connection.prepareStatement(sql);
            preparedStatement.setString(1, student.getAge());
            preparedStatement.setString(2, student.getAddress());
            preparedStatement.setString(3, name);
            int count =preparedStatement.executeUpdate();
        //    System.out.println("修改成功");
            if (count>0) {
                return true;
                            
            }else {
                return false;
            }

        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return false;
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return false;
        }catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return false;
        }finally {
            try {
            
            if (preparedStatement!=null)    preparedStatement.close();
            if (connection!=null)    connection.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        
        
        
    }
    
    public boolean isExist(String name) {
        if ( queryByid(name)==null)
            return false;
        else
            return true;
        
    
    }
    public Student queryByid(String name) {
        Student student = null;
        try {
            Class.forName("com.mysql.jdbc.Driver");
            connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/读取?characterEncoding=utf-8","root","021117");
            System.out.println("链接数据库成功");
            String sql = "select *from student where name =?";
            preparedStatement = connection.prepareStatement(sql);
            preparedStatement.setString(1, name);
            resultSet  = preparedStatement.executeQuery();
            if(resultSet.next()) {
                int id = resultSet.getInt("id");
                String name1 = resultSet.getString("name");
                String age = resultSet.getString("age");
                String address = resultSet.getString("address");
                student = new Student(id ,name1 ,age, address);
             }
            return student;
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return null;
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return null;
        }catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return null;
        }finally {
            try {
            if (resultSet!=null)    resultSet.close();
            if (preparedStatement!=null)    preparedStatement.close();
            if (connection!=null)    connection.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        
    }
    public List <Student> querysStudentall( ) {
         List <Student> students = new ArrayList<>();
        Student student = null;
        try {
            Class.forName("com.mysql.jdbc.Driver");
            connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/读取?characterEncoding=utf-8","root","021117");
            System.out.println("链接数据库成功");
            String sql = "select *from student";
            preparedStatement = connection.prepareStatement(sql);
            resultSet  = preparedStatement.executeQuery();
            while (resultSet.next()) {
                int id = resultSet.getInt("id");
                String name1 = resultSet.getString("name");
                String age = resultSet.getString("age");
                String address = resultSet.getString("address");
                student = new Student(id ,name1 ,age, address);
                students.add(student);
             }
            return students;
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return null;
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return null;
        }catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return null;
        }finally {
            try {
            if (resultSet!=null)    resultSet.close();
            if (preparedStatement!=null)    preparedStatement.close();
            if (connection!=null)    connection.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        
    }
}

 

servlce:

package 三层架构.student.service;

import java.util.List;

import 三层架构.student.bean.Student;
import 三层架构.student.dao.studentdao;

public class Studentservice {

    studentdao dao = new studentdao();
    public boolean addStudent(Student student) {
        if (!dao.isExist(student.getName())) {
             dao.addstudent(student);
             return true;
        }else {
            System.out.println("此人已存在");
            return false;
        }    
    }
    
    public boolean deletestudent(String name) {
        if (dao.isExist(name)) {
             dao.deletestudent(name);
             return true;
        }else {
            //System.out.println("此人已存在");
            return false;
        }          
    }
    public boolean updatestudent(String name ,Student student) {
        if (dao.isExist(name)) {
             dao.updatastudent(name, student);
              return true;
        }else {
            return false;
        }    
    }
    //查询一个学生
    public Student  querystudent (String name) {
        return dao.queryByid(name);
    }
    //查询全部学生
    public List<Student> queryStudents (){
        return dao.querysStudentall();
    }
}

 

servlet:

删除

package 三层架构.student.servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import 三层架构.student.bean.Student;
import 三层架构.student.service.Studentservice;


@WebServlet("/deleteservlet")
public class deleteservlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
 
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    request.setCharacterEncoding("utf-8");
    //接收前端传来的 名字
    String name = request.getParameter("uname");
    
    Studentservice  studentservice = new Studentservice();
    boolean result = studentservice.deletestudent(name);
    response.setContentType("text/html; charset=UTF-8");
    
       response.setCharacterEncoding("utf-8" );
    if (result) {
         response.getWriter().println("删除成功");
         response.setHeader("refresh","3;URL=selectallservlet");
         //response.sendRedirect("selectallservlet");
        
    }else {
    response.getWriter().println("删除失败");
     response.setHeader("refresh","3;URL=selectallservlet");
    //response.sendRedirect("selectallservlet");
    }
    
    
    /*
    if(!result) {
        request.setAttribute("delete","deleteerror");
    }else {
        request.setAttribute("delete","nodeleteerror");
        
    }
    request.getRequestDispatcher("selectallservlet").forward(request, response);
    }
*/
    }
    
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        
    }

}


查询全部

package 三层架构.student.servlet;

import java.io.IOException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import 三层架构.student.bean.Student;
import 三层架构.student.service.Studentservice;


@WebServlet("/selectallservlet")
public class selectallservlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
    
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
        
        //接收前端的消息
        
        Studentservice studentservice = new Studentservice();
        List<Student> students =    studentservice.queryStudents();
        System.out.println(students);
        request.setAttribute("students",students);
        request.getRequestDispatcher("student.jsp").forward(request, response);
    }

    
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        
    }

}


查询个人:

package 三层架构.student.servlet;

import java.io.IOException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import 三层架构.student.bean.Student;
import 三层架构.student.service.Studentservice;


@WebServlet("/selectallservlet")
public class selectallservlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
    
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
        
        //接收前端的消息
        
        Studentservice studentservice = new Studentservice();
        List<Student> students =    studentservice.queryStudents();
        System.out.println(students);
        request.setAttribute("students",students);
        request.getRequestDispatcher("student.jsp").forward(request, response);
    }

    
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        
    }

}

 

添加:

package 三层架构.student.servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import 三层架构.student.bean.Student;
import 三层架构.student.service.Studentservice;

/**
 * Servlet implementation class studentservlet
 */
@WebServlet("/studentservlet")
public class studentservlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        request.setCharacterEncoding("utf-8");
        // int id = Integer.parseInt(request.getParameter("uid"));
        String name = request.getParameter("uname");
        String age = request.getParameter("uage");
        String address = request.getParameter("uadd");
        Student student = new Student(name, age, address);

        Studentservice studentservice = new Studentservice();
        boolean result = studentservice.addStudent(student);
        response.setContentType("text/html; charset=UTF-8");
        response.setCharacterEncoding("utf-8");
        PrintWriter out = response.getWriter();
        /**
         * if(result) { out.println("此增加成功 "); response.setHeader("refresh",
         * "5;URL=selectallservlet");//定时跳转 到全部查询的界 面
         *
         * }else out.println("此增加失败 ");
         *
         * }
         */
        if (!result) {// 增加失败
            request.setAttribute("error", "adderror");
        } else {// 增加成功
            request.setAttribute("error", "noadderror");
        }
        // response.setHeader("refresh", "5;URL=selectallservlet");//定时跳转 到全部查询的界 面

        request.getRequestDispatcher("selectallservlet").forward(request, response);
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

    }

}

 

修改

package 三层架构.student.servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.sun.xml.internal.ws.wsdl.writer.document.Service;

import 三层架构.student.bean.Student;
import 三层架构.student.service.Studentservice;


@WebServlet("/updateservlet")
public class updateservlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
   
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    request.setCharacterEncoding("utf-8");        
        //接收前端的消息
    String name =     request.getParameter("uname");
    //获取修改后的消息
    //int id = Integer.parseInt(request.getParameter("uid"));
    String age = request.getParameter("uage");    
    String address = request.getParameter("uadd");    
    Student student = new Student(age, address);    
    Studentservice studenservice = new Studentservice();  
    boolean result = studenservice.updatestudent(name, student);
    response.setContentType("text/html; charset=UTF-8");
    response.setCharacterEncoding("utf-8" );
    if(result) {
         response.getWriter().println("修改成功");
            //response.sendRedirect("selectallservlet");
            response.setHeader("refresh","3;URL=selectallservlet");
    }else {
    response.getWriter().println("修改失败");
   // response.sendRedirect("selectallservlet");
    response.setHeader("refresh","3;URL=selectallservlet");
    }
    }    
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        
    }

}

xml 配置:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>三层架构</display-name>
  <welcome-file-list>
    <welcome-file>selectallservlet</welcome-file>
    <welcome-file>student.jsp</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>student.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
</web-app>

 

查询全部:

 

录入 :

查询和修改:

删除:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值