用MVC模式写的jsp连接数据库操作

首先用一个JavaBean封装数据库操作,即mvc中的模型

JdbcBean.java

package data;
import java.sql.*;
public class JdbcBean {
	  private String DBDriver="com.mysql.jdbc.Driver";
	  private String DBUrl="jdbc:mysql://localhost:3306/test";
	  private String DBUser="root";
	  private String DBPassword="686175";
	  public Connection conn=null;
	  public ResultSet rs=null;
	  public ResultSet query(String sql)throws Exception{
		  try{
			  Class.forName(DBDriver);
			  conn=DriverManager.getConnection(DBUrl,DBUser,DBPassword);
			  Statement stmt=conn.createStatement();
			  rs=stmt.executeQuery(sql);
			  return rs;
		  }
		  catch(SQLException e){
			  System.out.println(e.getMessage());
		  }
		  return null;
	  }
	  public void update(String sql)throws Exception{
		  try{
			  Class.forName(DBDriver);
			  conn=DriverManager.getConnection(DBUrl,DBUser,DBPassword);
			  Statement stmt=conn.createStatement();
			  stmt.executeUpdate(sql);
			  stmt.close();
			  conn.close();
		  }
		  catch(SQLException e){
			  System.out.println(e.getMessage());
		  }
	  }
}

在src的data包中还有一个控制器Servlet,用于处理连接数据库的操作,此次工程用的数据库是MySQL

LoginServlet.java

package data;

import java.io.IOException;
import java.sql.ResultSet;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class LoginServlet extends HttpServlet {
	public void doPost(HttpServletRequest request,
			           HttpServletResponse response)
			throws ServletException, IOException {
		String toJSP="";
		request.setCharacterEncoding("gbk");
		response.setContentType("text/html;charset=gbk");
		String username=request.getParameter("username");
		String password=request.getParameter("password");
		String sql="select * from user where username='"+username+"'" +
				   "&&password='"+password+"'";
		JdbcBean jdbc=new JdbcBean();
		try{
			ResultSet rs=jdbc.query(sql);
			if(rs.next()){
				toJSP="success.jsp";
			}
			else{
				toJSP="error.jsp";
			}
			rs.close();
		}
		catch(Exception e){
			System.out.println("发生查询异常");
		}
		RequestDispatcher rd=request.getRequestDispatcher(toJSP);
		rd.forward(request, response);
	}
	public void doGet(HttpServletRequest request,
			          HttpServletResponse response)
	  throws ServletException, IOException {
            doPost(request,response);
    }
}

接下来就是用jsp写的视图,显示页面操作

登录页面login.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
  <head>
    <title>My JSP 'login.jsp' starting page</title>
    <script>
            function myFunction(){
               if(myForm.username.value==""){
                  alert("用户名不能为空");
               }
               else if(myForm.password.value==""){
                  alert("密码不能为空");
               }
               else{
                  myForm.submit();
               }
            }
    </script>
  </head>
  <body>
  <form action="LoginServlet" method="post" name="myForm">
  <center>
  <table>
     <tr>
        <td>用户名</td>
        <td><input type="text" name="username"></td>
        <td>用户名不能为空</td>
     </tr>
     <tr>
        <td>密码</td>
        <td><input type="password" name="password"></td>
        <td>密码不能为空</td>
     </tr>
     <tr>
        <td></td>
        <td><input type="submit" value="提交" onclick="myFunction()">
            <input type="reset" value="取消"></td>
     </tr>
  </table>
  </center>
  </form>
  </body>
</html>

登录成功页面success.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
  <head>
    <title>My JSP 'success.jsp' starting page</title>
  </head>
  <body>
    <%
       out.println("登录成功!");
     %>
  </body>
</html>

如果登录的用户名和密码和存放在数据库的数据对不上,就显示登录错误页面error.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
  <head>
    <title>My JSP 'error.jsp' starting page</title>
  </head>
  <body>
    <%
       out.println("用户名或密码错误,登录失败!");
     %>
  </body>
</html>

输入用户名ming,密码ming

输入用户名lin,密码li

完整代码包:http://download.csdn.net/detail/u011731233/8093745

时间: 2024-10-08 04:10:21

用MVC模式写的jsp连接数据库操作的相关文章

用react结合mvc模式写计时器 -0+

组件js 1 import React, { Component } from 'react'; class Text extends Component { // model constructor(p) { super(p); this.state = { count: 0 } } // view render() { return ( <div> <button onClick={this.decFunc.bind(this)}>-</button> <la

javaBean、jstl、MVC模式

JavaBean 无参.getXXX和setXXX.private,并且对外提供一个public方法给其他类调用    比如person类    private String name Jsp 标签 <jsp:useBean id="" class=""  scope="">:表示查找id后面的类,如果没有的话就创建. id后面跟的是实例对象的名称,比如person       class后面的完整类名  比如com.cn.dom.p

实际案例讲解iOS设计模式——MVC模式

MVC模式是iOS编程中提到的最多次的设计模式,也是使用最频繁的设计模式之一.网络上有很多的MVC模式的分析文章,但都是从原理上来解释,很少能找到配套的案例来说明到底在实际的项目中要如何的使用这种模式.小编在经过详细的研究.对比和实验了之后,总结了一下这个模式的一些简单使用方法,希望能起一个抛砖引玉的作用,使得对MVC默认的同学能依葫芦画瓢的了解MVC模式的使用方法,并以此类推出更多.更好的方法出来. 这篇文章先从老生常谈的MVC设计模式的原理说起,然后配上一个简单的案例,以演示如何将一个常规的

基于jsp+servlet+javabean的MVC模式简单应用

原先写在CSDN的一篇,我直接扒过来吧.之前打算在CSDN的,结果写了几回,发现他那个发布系统简直烂到家,经常丢失图片各种.所以很长一段时间我也没写什么. 一.MVC模式 1.M :  javabean; 2.V :  jsp; 3.C : servlet; 4.DB:MySQL: 二.文件夹 三.项目内容 1.建立数据库并封装数据库操作 create database testDB; use testDB; create table user ( id int auto_increment p

MVC模式(Model View Controller)下实现数据库的连接,对数据的删,查操作

MVC模式(Model View Controller): Model:DAO模型 View:JSP  在页面上填写java代码实现显示 Controller:Servlet 重定向和请求的转发: 若目标的相应页面不需要从request里面读取任何信息,则可以使用重定向,可以防止表单重复提交: ------------------------------------------------------------------------------------------------ Stude

为什么要使用MVC模式,MVC模式的优势有哪些?请写出你熟悉的MVC轻量级框架名称。

MVC就是常说的:模型(Model),视图(View)和控制Controller) 它把业务处理和Jsp页面分开了.而以前的Jsp页面是把所有的代码都写在Jsp页面中,那样不利于维护 MVC模式的目的就是实现Web系统的职能分工. MVC模式的好处: 1.各施其职,互不干涉 在MVC模式中,三个层各施其职,所以如果一旦哪一层的需求发生了变化,就只需要更改相应的层中的代码而不会影响到其它层中的代码. 2.有利于开发中的分工 在MVC模式中,由于按层把系统分开,那么就能更好的实现开发中的分工.网页设

mvc模式下的数据库连接操作

mvc模式下数据库操作分为三部分,举一个容易理解的例子,mvc就是一种设计模式, 分为模型(Model),控制器(Controller ),视图(View),各自分工明确,连接数据库操作也遵从于这种模式 一部分是用来设置数据库的的用户名和密码的文件,可同时设置多个数据库的信息,实现可扩展性, 一部分是连接数据库,实例化类的操作, 一部分是用来调用实例化后的对象中的方法,写sql语句部分,分为了三个文件 在config.php文件中,设置常量define关于数据库信息,此处可以设置为二维数组,实现

Jsp+Servlet+JavaBean经典MVC模式理解

MVC 模式目的(实现Web系统的职能分工). 在Java EE中,Jsp+Servlet+JavaBean算是里面经典的模式,是初学者必备的知识技能. M, Model(模型)实现系统的业务逻辑 1. 通过DAO实现操作数据库的业务逻辑 2. 其他系统业务逻辑 JavaBean职能 V, View(视图)负责与用户交互,即在界面上展示数据对象给用户 Jsp职能 C, Controler(控制)Model与View之间沟通的桥梁 1. 分派用户的请求并选择适当的视图用于显示 2. 解释用户的输入

Swing程序最佳架构设计—以业务对象为中心的MVC模式(转)

前言: 我打算写一系列关于Swing程序开发的文章.这是由于最近我在做一个Swing产品的开发.长期做JavaEE程序,让我有些麻木了.Swing是设计模式的典范,是一件优雅的艺术品,是一件超越时代的产品! 有机会作Swing软件的开发,让我非常有感觉! 呵呵,希望有机会能够用Java3D编写软件,那种感觉一定更棒! Java和Swing都是杰作.我这个人对别人一向很挑剔的,能够得到我由衷地赞誉,可想而知它们有多优秀了.奇怪的是,它们居然一直都无法占领桌面市场.有人说这是技术的原因.我认为这应该