1.开发所用工具:
eclipse3.1+myeclipse
Mysql4.1.11
struts1.1
Mysql-connect
2.开发过程:
新建一个myeclipse项目“db_test”,
在MYSQL中新建一个数据库“test”,然后在其中新建一个表“test”,如下:
CREATE TABLE `test` (
`name` char(20) NOT NULL default '',
`password` char(10) NOT NULL default ''
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
新建两个JSP文件,分别如下:
HelloWorld.jsp
HelloWorld.jsp
<%@ page contentType="text/html;charset=gb2312" language="java" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html:html>
<head>
<html:base />
<title>HelloWorld.jsp</title>
</head>
<body>
<html:form action="/hello" method="post">
<html:text property="name"/>
<br>
<html:password property="password"/>
<html:submit value="提交"/>
<html:reset value="重写"/>
</html:form>
</body>
</html:html>
HelloOut.jsp
<%@ page contentType="text/html;charset=gb2312" language="java" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html:html>
<head>
<html:base />
<title>MyJsp.jsp</title>
</head>
<body>
<bean:write name="checkForm" property="name"/>等录成功!!!!!
<!-- <bean:write name="checkForm" property="password"/>-->
</body>
</html:html>
2.创建用于连接MYSQL的文件,DBConn.java
package com.sql.struts;
import java.sql.*;
public class DBConn{
String sDBDriver="org.gjt.mm.mysql.Driver";
String sConnStr="jdbc:mysql://127.0.0.1:3306/test?user=root&password=xiaotu&useUnicode=true&characterEncoding=ISO-8859-1";
Connection conn=null;
ResultSet rs=null;
public DBConn(){
try{
Class.forName(sDBDriver);
}
catch(java.lang.ClassNotFoundException e){
System.out.println("Jdbc_conn():"+e.getMessage());
}
}
public void executeUpdate(String sql)throws Exception{
try{
conn=DriverManager.getConnection(sConnStr);
Statement stmt=conn.createStatement();
stmt.executeUpdate(sql);
conn.close();
stmt.close();
}
catch(SQLException ex){
System.out.println("sql.executeUpdate:"+ex.getMessage());
}
}
public ResultSet executeQuery(String sql)throws Exception{
rs=null;
try{
sql=new String(sql.getBytes("ISO-8859-1"));
conn=DriverManager.getConnection(sConnStr);
Statement stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}
catch(SQLException ex){
System.out.println("sql.executeQuery:"+ex.getMessage());
}
return rs;
}
public void CloseConn()
throws Exception {
try
{
if (rs!=null)
rs.close();
if (conn!=null)
conn.close();
}
catch(SQLException ex)
{
System.out.println ("closeConn: " + ex);
}
}
}
3. 创建Action文件,ActionCheck.java
package com.sql.struts;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
public class ActionCheck extends Action{
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception {
CheckForm checkForm = (CheckForm) form;
String username = checkForm.getName();
checkForm.setName(toGB(username));
String password = checkForm.getPassword();
//toGB(password);
DBConn db = new DBConn();
boolean okflag=false;
try{
ResultSet rs = db.executeQuery("select * from test");
while(rs.next()){
if(rs.getString("name").equals(toGB(username))&&
rs.getString("password").equals(password)) {
okflag=true;
break;
};
}
rs.close();
if(okflag){
return (mapping.findForward("success"));
}else{
checkForm.reset(mapping,request);
return (mapping.findForward("failure"));
}
}catch(SQLException ex){
System.out.print("Logon Error:" + ex.getMessage());
}finally{
db.CloseConn();
}
return (mapping.findForward("success"));
}
public static String toGB(String iso){
String gb=null;
if (iso != null) {
try {
gb=new String(iso.getBytes("ISO-8859-1"),"GB2312");
} catch (Exception e) {
gb=null;
}
}
return gb;
}
}
4. 创建Form bean 文件,CheckForm.java
package com.sql.struts;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
public class CheckForm extends ActionForm {
String name=null;
String password=null;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public void reset(ActionMapping mapping, HttpServletRequest request) {
password = "";
name = "";
}
}
5.运行程序:http://localhost:8089/db_test/HelloWorld.jsp 即可运行程序