博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用MVC写模式jsp连接到数据库操作
阅读量:6006 次
发布时间:2019-06-20

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

首先用一个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"%>        My JSP 'login.jsp' starting page          
username username不能为空
密码 密码不能为空
登录成功页面success.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>        My JSP 'success.jsp' starting page          <%       out.println("登录成功!");     %>  
假设登录的username和password和存放在数据库的数据对不上,就显示登录错误页面error.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>        My JSP 'error.jsp' starting page        <%       out.println("username或password错误,登录失败!");     %>  
输入usernameming,passwordming

输入usernamelin,passwordli

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

你可能感兴趣的文章
C++_类继承6-继承和动态内存分配
查看>>
数据库优化经验总结
查看>>
Qt 使用 boost
查看>>
iOS define 宏定义 和 const定义常量区别
查看>>
salt-syndic使用
查看>>
VUE.JS 使用axios数据请求时数据绑定时 报错 TypeError: Cannot set property 'xxxx' of undefined 的解决办法...
查看>>
mysql truncate 、delete与drop区别
查看>>
2009年全球安全SaaS市场收入比2008年增长70%
查看>>
一起谈.NET技术,实战ASP.NET大规模网站架构:Web加速器
查看>>
java常见面试题总结2
查看>>
Reveal : Xcode辅助界面调试工具
查看>>
使用VTK与Python实现机械臂三维模型可视化
查看>>
C# 线程知识--使用Task执行异步操作
查看>>
WordPress 通过文章 URL 获取文章 ID
查看>>
样本类别比例严重失衡
查看>>
使用Quantlib,通过YTM计算债券净值
查看>>
数位DP
查看>>
无法打开包括文件:“windows.h”: No such file or directory
查看>>
Swift基础
查看>>
Set集合,HashSet类,TreeSet类,EnumSet类
查看>>