MVC模式實現登入以及增刪改查之登入

高洛峰
發布: 2016-11-04 17:15:13
原創
3586 人瀏覽過

我在這裡用的不是maven專案,用的一般的web專案,所以需要用到的架包需要自己去下載添加,在專案中,一定注意環境的配置,我用的是jre1.7

 1新專案

MVC模式實現登入以及增刪改查之登入

2  建立好MVC的管理包,導入對應的架包servlet

MVC模式實現登入以及增刪改查之登入

3 建立好與資料庫對應的實體類登陸框

1

2

3 使用者名稱:

4 密碼:

5

請求對應檔案

web .xml檔


注意:配置時要在之前,否則會報錯

public class Teacher {
            private  int  tid;
            private  String tname;
            private  String tpsw;
            public int getTid() {
                return tid;
            }
            public void setTid(int tid) {
                this.tid = tid;
            }
            public String getTname() {
                return tname;
            }
            public void setTname(String tname) {
                this.tname = tname;
            }
            public String getTpsw() {
                return tpsw;
            }
            public void setTpsw(String tpsw) {
                this.tpsw = tpsw;
            }
            public Teacher(String tname, String tpsw) {
                super();
                this.tname = tname;
                this.tpsw = tpsw;
            }
            public Teacher(int tid, String tname, String tpsw) {
                super();
                this.tid = tid;
                this.tname = tname;
                this.tpsw = tpsw;
            }
            public Teacher() {
                super();
            }
}
登入後複製

6 編寫對應的請求實體類LoginController.java:繼承HttpServlet重寫doget(),dopost()方法,根據method請求的不同呼叫doget或dopost方法MVC模式實現登入以及增刪改查之登入

LoginController.java


  
    login
    com.zr.controller.LoginController
  
  
    login
    /login
  
登入後複製

7 從後台dao層寫到control層

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.zr.model.Teacher;
import com.zr.service.valiDateService;
import com.zr.serviceIm.valiDateServiceImpl;
public class LoginController   extends  HttpServlet{
protected void doGet(HttpServletRequest req, HttpServletResponse resp) 
         throws ServletException, IOException {
                super.doPost(req, resp);
            }
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
          throws ServletException, IOException {
           //获取前台form表单的input输入框
           String tname=req.getParameter("tname");
           String tpsw=req.getParameter("tpsw");
           Teacher tc=new Teacher();
           tc.setTname(tname);
           tc.setTpsw(tpsw);
           valiDateService vds=new valiDateServiceImpl();
          Teacher t=    vds.valiDateTeacher(tc);
        HttpSession  session=req.getSession();
        session.setAttribute("teacher", t);
        if (t!=null) {
            //返回的不是空值,重定向到登录成功界面
            req.getRequestDispatcher("main.jsp").forward(req, resp);
        } else {
            //返回空值,请求转发到登录界面
            resp.sendRedirect("login.jsp");
        }      
            }
}
登入後複製
8.1 寫封裝類別建立與資料庫的連接JDBCUtil.java
public interface TeacherDao {
    
    /**
     * 验证老师是否存在
     * @param tc
     * @return
     */
    public Teacher validateTeacher(Teacher tc);
}
登入後複製
Service

package JDBCUtil;


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

    public class JDBCUtil {
         //1.数据库地址  (根据不同的数据标准是不一样)
          private  final  static String DBURL = "jdbc:mysql://localhost:3306/student_crm?useUnicode=true&characterEncoding=UTF8";
          //2.设置用户和密码
          private  final  static String  USERNAME = "root";
          private  final  static String  PASSWORD = "root";
          //3.设置驱动名称 (根据不同的数据标准是不一样)
          private  final  static String  DBDRIVER = "com.mysql.jdbc.Driver";
          /**
           * 获取数据库连接
           * @return  返回数据库连接
           */
          public  static  Connection  getConnection(){
              Connection  con = null;
              try {
                Class.forName(DBDRIVER);
                con  =  DriverManager.getConnection(DBURL, USERNAME, PASSWORD);
            } catch (ClassNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
              return  con;    
          }
//关闭连接 
          public static void  closeJDBC(Statement st,Connection  con) throws SQLException{
                if(st!=null){
                    st.close();
                }
                if(con!=null){
                    con.close();
                }
          }

}
登入後複製

10 Service層實作ServiceImpl.java

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.zr.dao.TeacherDao;
import com.zr.model.Teacher;
import JDBCUtil.JDBCUtil;
public class TeacherDaoImpl implements TeacherDao{
    /**
     * 输入老师的对象,返回老师对象
     * @param args
     */
    public Teacher validateTeacher(Teacher tc) {
        Teacher teacher=new Teacher();
        //sql语句
        StringBuffer sql=new StringBuffer("select * from teacher where tname=? and tpsw=?");
        //获取数据库连接
        Connection con=JDBCUtil.getConnection();
        try {
            PreparedStatement  pst=con.prepareStatement(sql.toString());
            pst.setString(1, tc.getTname());
            pst.setString(2, tc.getTpsw());
            //返回一个结果集
            ResultSet rs=pst.executeQuery();
            if (rs.next()) {
            //把结果集里面的数据放入对应的teacher对象
                teacher=new Teacher(rs.getInt("tid"),rs.getString("tname"),rs.getString("tpsw"));
            } 
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return teacher;
    }
}
登入後複製

11 com.zr.controller層

public interface valiDateService {
/**
 * @param tc
 * @return 老师对象
 * 根据用户输入值验证老师是否存在
 */
    public Teacher valiDateTeacher(Teacher tc);

}
登入後複製

相關標籤:
mvc
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!