博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MVC的一个简单实例
阅读量:5024 次
发布时间:2019-06-12

本文共 6569 字,大约阅读时间需要 21 分钟。

基本思路:

  一个Regist.jsp注册页面,用于收集用户信息,发送请求给控制器Servlet;控制器层Servlet封装模型层对象 jBean,并调用其方法regiser实现用户信息的保存;模型层JavaBean.java 接收控制器层的对象,完成对数据库的操作。

话不多说,上代码。

首先有个数据库访问公共类,以后凡是操作数据库的页面都可以调用。不容多说:

Unilt.java

/** *  */package javaBeanServlet;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;/** * @author Administrator * */public class Unilt {    private static final String URL = "jdbc:mysql://localhost:3306/userdb";    private static final String USER = "root";    private static final String PASSWORD = "111111";    protected static Statement s = null;    protected static ResultSet rs = null;    protected static Connection coon = null;    public static synchronized Connection getConnection() {        try {            Class.forName("com.mysql.jdbc.Driver");        } catch (ClassNotFoundException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        try {            coon = DriverManager.getConnection(URL, USER, PASSWORD);        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        return coon;    }    public static int executeUpdate(String sql) {        int result = 0;        try {            s = getConnection().createStatement();        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        try {            result = s.executeUpdate(sql);        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        return result;    }    public static ResultSet executeQuery(String sql) {        try {            s = getConnection().createStatement();        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        try {            rs = s.executeQuery(sql);        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        return rs ;    }    public static PreparedStatement executePreparedStatement(String sql) {        PreparedStatement ps = null;        try {            ps = getConnection().prepareStatement(sql);        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        return ps;    }    public static void rollback() {        try {            getConnection().rollback();        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }    public static void close() {        if (rs != null) {            try {                rs.close();            } catch (SQLException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }        }        if (s != null) {            try {                s.close();            } catch (SQLException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }        }        if (coon != null) {            try {                coon.close();            } catch (SQLException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }        }    }}
View Code

 

接下来是一个简单的注册页面:

Register.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%>
Insert title here
View Code

Servlet.java

package javaBeanServlet;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;/** * Servlet implementation class Servelt */@WebServlet("/Servelt")public class Servelt extends HttpServlet {    private static final long serialVersionUID = 1L;           /**     * @see HttpServlet#HttpServlet()     */    public Servelt() {        super();        // TODO Auto-generated constructor stub    }    /**     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)     */    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        // 设置编码格式        response.setCharacterEncoding("utf-8");        response.setContentType("text/html;charset = utf-8");         /* 实例化JavaBean 的一个对象 jBean ,并通过request.getParameter()获取Regist表单提交的           username、password值            */        JavaBean jBean = new JavaBean();        jBean.setFd_username(request.getParameter("username"));        jBean.setFd_password(request.getParameter("password"));        jBean.register(jBean);    }    /**     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)     */    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        // TODO Auto-generated method stub        doGet(request, response);    }}
View Code

JavaBean.java

/** *  */package javaBeanServlet;import java.sql.*;import javaBeanServlet.*;import javaBeanServlet.Unilt;/** * @author Administrator * */public class JavaBean {    // 依据数据表结构声明成员变量    private String fd_username ;    private String fd_password ;    // 为属性提供setter和getter方法    public String getFd_username() {        return fd_username;    }    public void setFd_username(String fd_username) {        this.fd_username = fd_username;    }    public String getFd_password() {        return fd_password;    }    public void setFd_password(String fd_password) {        this.fd_password = fd_password;    }        public boolean register(JavaBean javaBean){        String sql = "insert into users(username ,password) values (?,?)";        int result = 0;        PreparedStatement ps = Unilt.executePreparedStatement(sql);        try {            ps.setString(1,javaBean.fd_username);            ps.setString(2,javaBean.fd_password);            result = ps.executeUpdate();        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        // 注册成功,返回true;注册失败,返回false        if (result > 0) {            System.out.println("注册成功");            return true;            }        else {            System.out.println("注册失败");            return false;        }    }}
View Code

 

下面是运行的效果:

 

 

    新手上路,请多指教!

转载于:https://www.cnblogs.com/qzhc/p/11203213.html

你可能感兴趣的文章
字符串按照字典序排列
查看>>
IOS 开发调用打电话,发短信
查看>>
CI 框架中的日志处理 以及 404异常处理
查看>>
keepalived介绍
查看>>
css3 标签 background-size
查看>>
python itertools
查看>>
Linux内核调试技术——jprobe使用与实现
查看>>
样式、格式布局
查看>>
ubuntu设计文件权限
查看>>
Vue双向绑定原理详解
查看>>
Android基础总结(5)——数据存储,持久化技术
查看>>
关于DataSet事务处理以及SqlDataAdapter四种用法
查看>>
bootstrap
查看>>
http://lorempixel.com/ 可以快速产生假图
查看>>
工程经验总结之吹水"管理大境界"
查看>>
为什么JS动态生成的input标签在后台有时候没法获取到
查看>>
20189210 移动开发平台第六周作业
查看>>
java之hibernate之基于外键的双向一对一关联映射
查看>>
rxjs一句话描述一个操作符(1)
查看>>
第一次独立上手多线程高并发的项目的心路历程
查看>>