首先用一个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,用于处理连接数据库的操作,此次project用的数据库是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("username不能为空");
}
else if(myForm.password.value==""){
alert("密码不能为空");
}
else{
myForm.submit();
}
}
</script>
</head>
<body>
<form action="LoginServlet" method="post" name="myForm">
<center>
<table>
<tr>
<td>username</td>
<td><input type="text" name="username"></td>
<td>username不能为空</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>

假设登录的username和password和存放在数据库的数据对不上,就显示登录错误页面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("username或password错误,登录失败!");
%>
</body>
</html>



输入usernameming,passwordming

输入usernamelin,passwordli

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

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

  1. JSP连接MySQL数据库问题

    之前写了一大段,还说了一下具体JDBC连接数据库API的具体包的基本知识,哪知道自己手残不小心按了删除按钮.结果去看自动保存记录时,就只剩下下面这段了.好吧,其实最主要最核心的也就是下面这点了.具体如 ...

  2. jsp连接sqlServer数据库教程

    一.首先讲下我用的工具版本以供参考: jar包:jtds1.3.1.jar  下载地址:点击进入 数据库:SQL Server2012 服务器:Tomcat8.0   下载地址:点击进入 开发IDE工 ...

  3. jsp连接sqlServer数据库教程、jsp连接sqlServer数据库报ClassNotFoundException异常

    jsp连接sqlServer数据库教程: 首先讲下我用的工具版本以供参考: jar包:jtds1.3.1.jar  下载地址:点击进入 数据库:SQL Server2012 服务器:Tomcat8.0 ...

  4. Jsp连接Mysql数据库取数方法

    我将Jsp连接Mysql数据库方法整理如下,供大家学习交流! 1.首先在myslq数据库中新建mldn数据库,并新建emp表.(方法不展开介绍) 插入数据如下: create table `emp` ...

  5. oracle建表权限问题和JSP连接oracle数据库基本操作

    JSP连接oracle数据库相关操作 1.创建表 打开Enterprise Manager Console,为用户添加权限CREATE ANY TABLE和分配一定的表空间USERS限额1024k. ...

  6. JSP连接access数据库

    一个用jsp连接Access数据库的代码. 要正确的使用这段代码,你需要首先在Access数据库里创建一username表,表里面创建两个字符型的字段,字段名分别为:uid,pwd,然后插入几条测试数 ...

  7. java web 程序---jsp连接mysql数据库的实例基础+表格显示

    <%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="g ...

  8. Python3.x:pyodbc连接Sybase数据库操作(Windows系统下DNS模式)

    Python3.x:pyodbc连接Sybase数据库操作(Windows系统下DNS模式) 一.安装模块pyodbc pip install pyodbc 二.配置odbc数据源 (1).windo ...

  9. jsp连接mysql数据库

    1.新建一个Java web项目. 2.导入mysql驱动包.(这个跟上一篇写的Java连接mysql类似) 3.编写测试代码 <%@ page contentType="text/h ...

随机推荐

  1. asp.net 下载任意格式文件 上传文件后台代码

    思路:将文件转化为流,输出到页面上的iframe中去 //下载附件逻辑 object DownLoad(NameValueCollection nv) { int attachId = nv[&quo ...

  2. 此三层非彼三层——MVC&amp;UBD

    学习了三年编程了,到如今这个阶段,開始接触架构,開始认识架构,怎样设计一个程序的结构,学名称"架构模式"(architectural pattern).个人经历告诉我这在编程中是一 ...

  3. MongoDB查询命令具体解释

    1.查询全部记录 复制代码代码例如以下: db.userInfo.find(); 相当于:select* from userInfo; 默认每页显示20条记录,当显示不下的情况下,能够用it迭代命令查 ...

  4. c#超时锁定

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  5. 怎样控制界面控件之进度条(ProgressBar)功能

    一.基础知识: 1.ProgressBar在界面文件XML中的布局: [html] <progressBar android:id="@+id/progressbar_updown&q ...

  6. Kendo UI开发教程(14): Kendo MVVM 数据绑定(三) Click

    Click绑定可以把由ViewModel定义的方法不绑定到目标DOM的click事件.当点击目标DOM元素时触发ViewModel的对应方法.例如: 使用Click绑定 1 <div id=&q ...

  7. LVS的调度算法分析

    LVS调度算法 一.静态调度算法 1.  rr(round robin)轮询调度,即调度器将客户端的请求依次的传递给内部的服务器,从1到N,算法简洁,无须记录状态,但是不考虑每台服务器的性能. 配置如 ...

  8. hdu2612(bfs)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2612 题意:求2个点到任意一个KFC的距离之和,使其最小. 分析:由两个点出发分别两次bfs,求得到每 ...

  9. hdu1513(最长公共子序列)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1513 题意:将一个字符串转变为回文串的最少添加字符个数 分析:只要想到将字符串逆序后与原字符串求最长公 ...

  10. HDOJ 2736 Surprising Strings

    Surprising Strings Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...