struts操作数据库 -一个简单的例子
来源:互联网 发布:人工智能 城市管理 编辑:程序博客网 时间:2024/04/29 15:30
数据库编程的一些基本步骤:
注册驱动
创建数据库连接
执行SQL语句获得结果
要用到的一些基本类
Connection类
Statement类和PeparedStatement类
ResultSet类
要注意的问题
数据库操作的时候会出现异常,要注意捕获并处理
用以下的代码做解释
//定义数据库的驱动程序(以下给出的是连接odbc数据库的)
String strDriver="sun.jdbc.odbc.JdbcOdbcDriver";
//定义数据的URL(名称)
String strConnection="jdbc:odbc:myFirstData";
//数据访问的用户名
String strConnectUsername="";
//数据库访问的密码
String strConnectPassword="";
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
String sql_temp = "select * from tableName"
try {
Class.forName(strDriver);//注册驱动
}
catch(ClassNotFoundException ex1) {
ex1.printStackTrace();//捕获驱动注册过程中的异常
}
try {
//获得数据库连接
conn = DriverManager.getConnection(strConnection, strConnectUsername, strConnectPassword);
stmt = conn.CreateStatement();//创建Statement的对象stmt
rs = stmt.executeQuery(sql_temp);//利用stmt执行SQL操作返回结果集交给rs
}
catch(SQLException ex2) {
ex2.printStackTrace();
}
来一个例子说明一下如何?
功能描述
写一个用户登陆的程序,用户输入密码,点击“登陆”按钮,在用户数据表中查找,如果有对应的记录,就告诉:你好,欢迎你!如果没有该用户,就提示:用户名或者密码错误,请重新登陆。
哇,终于到了编写有点人摸狗样程序的时候了,以前写的哪能叫程序啊,简直是拿三结构的名字来欺骗人嘛。。。
建立数据库:为了简单就用access建一个吧,数据库的名字就user吧,在odbc中设置一下吧。什么,不知道怎么设置?哦,我现在真的没心情跟你解释。请你解决了这个问题再往下看吧。
建立一个数据表:userTable
用户号码 UserNo 文本
用户密码 PassWord 文本
所在的部门号码 DepartNo 文本
填入几个值吧
111 111 001
222 222 002
333 333 003
登陆的jsp(恐怕以后我不会再告诉你怎么写这样的jsp了)
login.jsp
<%@ page contentType="text/html; charset=gb2312" %>
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<html:html>
<title>Login</title>
<center>
<pre>
<html:form action="execute.do" method="post">
<h3> 请输入 </h3>
用户名: <html:text property="userID" size="12"/>
密 码: <html:text property="passWord" size="12"/>
<html:submit value="提交"/> <html:reset value="重置"/>
</html:form>
</pre>
</center>
</html:html>
显示正确结果的页面
success.jsp
<%@ page contentType="text/html; charset=gb2312" %>
<center>
欢迎你!!
</center>
提示警告的页面
error.jsp
<%@ page contentType="text/html; charset=gb2312" %>
<center>
不要意思,您的用户名或密码错误!
</center>
好了,下面到程序员真正该做的工作了,那就是写java代码啊。
一,不要问在什么地方写java代码
二,不要问用什么办法把java代码编译成类文件
三,不要问把java文件和类文件放在什么地方
……这样的问题我不会再回答。
你千万不要忘了要导入两个JAR包啊
用来保存数据的form
UserForm.java
import org.apache.struts.action.*;
public class UserForm extends ActionForm
{
private String userID = null;
private String passWord = null;
public String getUserID() {
return userID == null?"": userID.trim();
}
public void setUserID(String userID) {
this. userID = userID;
}
public String getPassWord() {
return passWord == null?"": passWord.trim();
}
public void setPassWord(String str2) {
this. passWord = passWord;
}
}
看见了form了吧,没什么神气的,就是一些属性和关于属性的get和set方法
用来处理数据的action
UserAction.java
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
public class UserAction extends DispatchAction
{
public ActionForward execute( ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception
{
//获取页面表单信息
UserForm uForm = (UserForm)form;
//从from中获得已经被提交的两个数据
String temp_id = uForm. getUserID();
String temp_pass = uForm. getPassWord();
if(!"".equals(temp_id)&&!"".equals(temp_pass))
{
//定义数据库的驱动程序(以下给出的是连接odbc数据库的)
String strDriver="sun.jdbc.odbc.JdbcOdbcDriver";
//定义数据库的URL(名称)
String strConnection="jdbc:odbc:user";
//数据访问的用户名
String strConnectUsername="";
//数据库访问的密码
String strConnectPassword="";
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
String sql_temp = "select * from userTable where
UserNo='"+temp_id+"' and
PassWord='"+temp_pass+"'";
try
{
Class.forName(strDriver);//注册驱动
}
catch(ClassNotFoundException ex1)
{//捕获驱动注册过程中的异常
ex1.printStackTrace();
}
try
{
conn = //获得数据库连接
DriverManager.getConnection( strConnection,
strConnectUsername,
strConnectPassword);
//创建Statement的对象stmt
stmt = conn.createStatement();
//利用stmt执行SQL操作返回结果集交给rs
rs = stmt.executeQuery(sql_temp); }
catch(SQLException ex2)
{
ex2.printStackTrace();
}
int temp_count = 0;
//通过这个循环看从数据库中查询出来了多少条记录
while(rs.next())
{
temp_count++;
}
//如果查询有记录,表明输入的用户名和密码正确
if(temp_count>0)
{
return mapping.findForward("ok");
}
else//如果查询没有记录,表明输入的用户名或者密码错误
{
return mapping.findForward("err");
}
}
else
{
return mapping.findForward("err");
}
}
}
- struts操作数据库 -一个简单的例子
- 一个简单的Struts例子
- 一个简单的Struts例子
- 一个简单的 Struts 例子
- 一个简单的Struts +ajax 的例子
- 实战JBuilder8 + Struts,一个简单的例子
- 实战JBuilder8 + Struts,一个简单的例子
- 重温Struts,完整的一个简单例子
- 简单的数据库链式操作的例子
- C#操作MySQL数据库的简单例子
- c#操作Access数据库的简单例子
- c#操作Access数据库的简单例子
- C# 操作MySQL数据库的简单例子
- C#操作MySQL数据库的简单例子
- C#操作MySQL数据库的简单例子
- 用jdbc操作数据库的简单例子
- C#操作MySQL数据库的简单例子
- 一个简单的例子说明Struts的工作流程
- TOMCAT用https替换http的方法
- Apache-WebLogic plub-in插件的安装
- ASP.NET页面间的传值的几种方法(转载)
- linux下SSH配合SecureCRT的密匙完美使用方法
- java文件操作大全
- struts操作数据库 -一个简单的例子
- struts操作数据库-工厂篇
- 骗子公司!
- 主 题: [源代码]2005年第一个工作日,给大家发布一个实现Web打印方案
- sqlserver中对不规范时间的排序处理
- 加密和解密的算法
- 开张了!
- 邮件发送程序
- 最全面的wma歌曲免费下载