MyEclipse+MySQL+Tomcat实现jsp登录 (struts)【Server 入门】

来源:互联网 发布:淘宝刷访客软件 编辑:程序博客网 时间:2024/06/09 20:21
1.新建工程J2EE->web project->取名login,添加struts属性(右键单击工程名->MYEclipse->Add struts capabilites...)
 
2.打开struts-config.xml文件,
在Desin界面点击右键->new->Form,Action and jsp;
Usecace填写自己的工程名login;
superclass选择org.apache.struts.action.ActionForm;
在Form Properties添加两个属性,userName和password,注意password的jsp页面类型为password;
在Jsp选项中,将create jsp form打勾,finishi;
 
3.这是在src包中自动生成了com.yourcompany.struts.action包和com.yourcompany.struts.form包,分别包含了LoginAction.java和LoginForm.java;LoginForm.java中应该包含了get/set方法;
在WebRoot->下多出一个form包,里面含有login.jsp;后面的success.jsp和failure.jsp也建在这里面;
我们在com.yourcompany.struts.action包中新建java类,用于连接MYSql数据库,取名DBConnection.java
 
4.DBConnection.java的内容如下:

import java.sql.*;

public class DBConnection {
 String sDBDriver = "com.mysql.jdbc.Driver";
    String sConnstr = "jdbc:mysql://localhost:3306/login?useUnicode=true&characterEncoding=GBK"; 

//login为mysql中新建的数据库名,建库在下一步
    Connection connect = null;
    ResultSet rs = null;
    Statement stmt = null;
   
    public DBConnection(){
     try{
      Class.forName(sDBDriver);
      
     }
     catch(ClassNotFoundException ex){
      System.err.println(ex.getMessage());
     }
    }
    //连接数据库,下面的executeQuery方法中也定义了
/*    public void OpenConnect(){
    try{
     Class.forName(sDBDriver);
      this.connect = DriverManager.getConnection(sConnstr,"root","ghost");

//root为用户名,ghost为密码,下同
     }catch(Exception e){
      e.getMessage();
     }
    }
*/   
    public ResultSet executeQuery(String sql) {
     try{
      
      this.connect = DriverManager.getConnection(sConnstr,"root","ghost");
      this.stmt = this.connect.createStatement();
      rs = stmt.executeQuery(sql);
      
     }
     catch(SQLException ex){
      System.err.println(ex.getMessage());
     }
  return rs;
    }
    public int executeUpdate(String sql){
     int result = 0;
     try{
      this.connect = DriverManager.getConnection(sConnstr,"root","ghost");
     }
     catch(SQLException ex){
      System.err.println(ex.getMessage());
     }
  return result;
     
    }
    //测试数据库连接
   public static void main(String args[]) throws SQLException{
     DBConnection db = new DBConnection();
     //db.OpenConnect();
     String sql = "select name from users";
     ResultSet rs = db.executeQuery(sql);
  
     while(rs.next()){
      for(int i=1;i<=rs.getMetaData().getColumnCount();i++){
       System.out.println(rs.getObject(i));
      }
     }
    }

}

 

5.在数据库中建表,推荐使用MySQL-Front视图化建表;用sql语句的话如下:
create database login;(每行回车)
use login;

Create table users

(

id int(100)primary key,

name varchar(10),

password varchar(10)

);

insert into users values(1,'gao','lin');

之后可以用select *from users;查询一下结果;

 

6.添加数据库驱动

工程名上点右键->build path->configure build path->Libraries

点击Add External JARs..选择数据库驱动位置

运行DBConnection.java,没有问题的话应该出现你插入的name

 

7.修改LoginAction.java内容

ActionForward execute函数中添加如下代码:

 

(位于LoginForm loginForm = (LoginForm) form;之后)

  String userName = loginForm.getUserName();
  String password = loginForm.getPassword();
  String sql = "select name from users";
  String sql2 = "select password from users";
  DBConnection  db = new DBConnection();//连接数据库
  ResultSet rs = (ResultSet) db.executeQuery(sql);
  ResultSet rs2 = (ResultSet) db.executeQuery(sql2);
  String dbname = null;
  String dbpassword = null;
  while(rs.next()){//取name
      for(int i=1;i<=rs.getMetaData().getColumnCount();i++){
       dbname = (String) rs.getObject(i);
       System.out.println("username_________________"+dbname);
       
      }
      
     }
  while(rs2.next()){//取密码
      for(int i=1;i<=rs.getMetaData().getColumnCount();i++){
       dbpassword = (String) rs2.getObject(i);
       System.out.println("password_________________"+dbpassword);
       
      }
      
     }
  if(userName.equals(dbname)&&password.equals(dbpassword)){
   return mapping.findForward("success");
  }//success和failure还没有建立
  else{
   return mapping.findForward("failure");
  }

------------

之前还要引入一些包

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;

 

8.建立success.jsp和failure.jsp并添加其到LoginAction的forward中;

打开struts-config.xml文件(Design)

点击左侧的J符号,再点击右侧网格页面,出现新建jsp窗口,把路径选到和login一样的form包中,名字改为success,模板选择struts1.1(看你自己选择版本);

完成后出现jsp页面,在body标签中加如success的字样

同理建立failure.jsp

forward建立:

在左侧有一个Connection-Add Connection按钮,先点击一下,然后再点击右侧Login的图形,再点击右侧success.jsp图形,会弹出forward属性框,name中填写success;failure同理,填写failure

到现在基本完成,需要添加发布器Tomcat

9.在myeclipse中选择->window->preferences->Myeclipse->Application Servers->Tomcat5,选择Enable,在第一个路径中选择Tomcat的安装目录;在JDK中添加jdk的安装目录,点击ok,以后就不用再配置了。

10.发布页面

右键单击工程,选择MyEclipse->Add and Remove Project Depolyments;

点击Add按钮,在Server下拉菜单中选择Tomcat5->finishi->ok;

在MyEclipse窗口上有一个带绿色小三角和服务器的按钮,点击其下拉菜单,选择Tomcat5->start,下面会开始运行服务器

打开IE,窗口输入http://localhost:8080/login/form/login.jsp


from:http://blog.sina.com.cn/s/blog_499dced001000b5x.html

0 0
原创粉丝点击