`

利用Myeclipse快速开发struts应用程序

阅读更多
这篇我在是以前版本上的修正版^对新手有帮助咯!!

开发环境:
jdk1.42
eclipse3.2
myeclipse5.0
tomcat5.0

 

简介:
文本主要介绍用myeclipse的struts designer(图形化开发环境)开发一个简单的用户登录程序片段。
主要包括2个jsp文件、一个ActionForm、一个Action等其它
userLogin.jsp(用户登录及错误提示页面) userLoginSuccess.jsp(提示登录成功页面)
UserLoginForm.java(ActionForm,存放用户提交信息)
UserLoginAction.java(Action,简单的处理用户登录事件)

 
开始吧

首先我们先建立一个j2ee的web project.如图1:
o_1.JPG

点击next,Project name输入LoginDemo,其余保持默认,点击finish.
在package explorer下,就可以看到我们的项目了,然后给这个项目添加Struts框架必要的文件.在我们项目名上点击右键,选择MyEclipes --> Add Struts Capabilities...弹出对话框图2:
o_2.JPG
其中Struts config path就是我们的struts配置文件,URL pattern我们选择*.do,Default application resource为我们默认的资源文件地方,你可以选择它的存储位置,我们在这里保持默认。点击Finish后,项目结构类似于图3:
o_3.JPG

现在就来开始我们的例子吧。点击这个界面左下角的Design进入可视化设计界面。有没有注意右边的Palette :) 点击它,让我们来开始我们的jsp页面设计。我们先建立userLoginSuccess.jsp文件,为啥先建这一个呢?等下就知道了,在myeclipse中可以一次性把我们的Action,ActionForm,Jsp文件一次建好(将三个有关联的文件等下创建)。
点击Palette面版上的创建JSP文件图标,弹出创建JSP文件面板。图4:
o_4.JPG

File Name里输入userLoginSuccess.jsp,Template to use选择2] Standard JSP using Struts 1.1,点击Finish完成。
完成后,struts-config.xml文件自动被更新,可视化界在上也出现了刚新建的JSP模块。新建的jsp文件也被打开了。

然后在<body></body>中添加:
Hello <bean:write name="userName" scope="request" /> .
这里将request中的属性userName输出在页面上,所以等下我们在UserLoginAction中,登录成功后要设置一个相关属性。

OK,下面来开始我们最后三个文件的设计吧。在Struts-config.xmlDesign模式中,在画版的空白区域点右键,选择New --> New Form, Action and JSP 弹出ActionForm的选项面板,我们按图上输入相关值,图5:
o_5.JPG

Optional DetailsForm Properties选项卡,点add为这个ActionForm添加相关值,在这个登录示例中,将添加两个属性userName和password,图6:
o_6.JPG
在添加password时,注意将JSP input type 下拉框选择password.
完成这步后,我们就将ActionForm设计完成。
接下来选择 Optional DetailsJSP选项卡,我们选中Create JSP form? 这一步myeclipse将为我们创建一个简单的与用户交互的登录页面。保持内容和图7一样。图7:
o_7.JPG
因为我们这只是简单的演示一个登录片段,所以不用验证用户信息是否合法,所以将 Option Detailsmethod选项卡的新建方法去掉,如图8:
o_8.JPG
点Next,进入Action选项面板.将Option DetailsForm选项卡中Validate Form取消选择,如图9:
o_9.JPG
然后在Forwards选项卡中点add添加成功和失败返回的页面.如图10:
o_10.JPG
点击Finish完成。在Struts-config.xmlDesign中,可以看到图11所示:
o_11.JPG
最后,简单的修改一下userLogin.jsp,将所有<%@ taglib ...%>替换为:
<%@ taglib uri="/tags/struts-html" prefix="html"%>
<%@ taglib uri="/tags/struts-bean" prefix="bean"%>
修改UserLoginAction中的execute片段为如下所示,图12:
o_12.JPG

OK,完成。。。下面就部暑项目,测试。。。

像为项目添加Struts框架一样,在项目名上右击,选择MyEclipse --> Add and Remove Project development.
在弹出对话框上,单击add ,在弹出的 New Deployment 对话框上,Server选Tomcat5,点击Finish完成部署,如图13:
o_13.JPG
在用浏览器上打开:http://127.0.0.1:8080/LoginDemo/userLogin.jsp
输入密码123456,用户名EricHe。显示成功:
o_14.JPG
如果输错,或不输入,则无反映又回到当前登录页面(因为我们没有设置错误信息)。

1.附[加入数据库以进行身份验证]
在UserLoginAction.java 文件中加入数据库访问.修改代码如下:
package com.yourcompany.struts.action;

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;
import java.sql.*;

import com.yourcompany.struts.form.UserLoginForm;


public class UserLoginAction extends Action {

 public ActionForward execute(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) {
  UserLoginForm userLoginForm = (UserLoginForm) form;
  
  String name = userLoginForm.getUserName();
  String password = userLoginForm.getPassword();

  // DBbase myDb=new DBbase();
  // ResultSet rs=null;
  // int result =0;
  String sql = "select *  from userid where name = '" + name
    + "' and psw = '" + password + "'";
  try {
   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
   Connection con = DriverManager.getConnection("jdbc:odbc:test", "",
     "");
   Statement stmt = con.createStatement();
   ResultSet rs = stmt.executeQuery(sql);
   rs = stmt.executeQuery(sql);
   if (rs.next()) {
    request.setAttribute("userName", userLoginForm.getUserName());
    return mapping.findForward("success");
   }
   
  } catch (Exception ex) {
   ex.printStackTrace();
  }
  return mapping.findForward("failure");
  /*
   * if (userLoginForm.getUserName().equals("EricHe") &&
   * userLoginForm.getPassword().equals("123456")) {
   * request.setAttribute("userName", userLoginForm.getUserName()); return
   * mapping.findForward("success");
   *  //
   */
 }
}
当然要在本机上建立数据源!!!
运行结果如下:Image00002.jpgImage00000.jpgImage00001.jpg

OK好了!


2.附[将数据库封装成一个bean类]


 (1)在项目中增加一个数据库封装类DBbase.java
//package com.yourcompany.struts.action;

import java.sql.*;

public class DBbase {
        String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
        String sConnstr = "jdbc:odbc:test";
        Connection connect = null;
        ResultSet rs = null;
        Statement stmt = null;


        public DBbase()
        {

                try
                {

                        Class.forName(sDBDriver);

                }
                catch(ClassNotFoundException ex)
                {
                        System.err.println(ex.getMessage());

                }
        }
        public ResultSet executeQuery(String sql)
        {

                try
                {
                        this.connect = DriverManager.getConnection(sConnstr);
                        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);
                        this.stmt = this.connect.createStatement();
                        result = stmt.executeUpdate(sql);
                }
                catch(SQLException ex)
                {
                        System.err.println(ex.getMessage());
                }
                return result;
        }
public void close(){
 if(connect !=null){
  try{
   connect.close();
   connect=null;
  }catch(SQLException ex){
   System.err.print(ex.getMessage());
  }
 }
 
}
}

(2)修改类UserLoginAction

package com.yourcompany.struts.action;

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;
import java.sql.*;
//若不在同一包则,要引入封装数据库所在的包

import com.yourcompany.struts.form.UserLoginForm;

public class UserLoginAction extends Action {

 public ActionForward execute(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) {
  UserLoginForm userLoginForm = (UserLoginForm) form;

  String name = userLoginForm.getUserName();
  String password = userLoginForm.getPassword();
  String sql = "select *  from userid where name = '" + name
    + "' and psw = '" + password + "'";
  DBbase myDb = new DBbase();
  ResultSet rs = null;
  
  try {
   rs = myDb.executeQuery(sql);
   if (rs.next()) {
    request.setAttribute("userName", name);
    return mapping.findForward("success");
   }
  } catch (SQLException ex) {
   ex.printStackTrace();

  }

  return mapping.findForward("failure");
 }
}
运行效果如上!!!

分享到:
评论

相关推荐

    利用Myeclipse快速开发struts应用程序.ppt

    利用Myeclipse快速开发struts应用程序.ppt对于初学STRUTS 的人来产有很大的帮助……

    利用Myeclipse开发struts应用程序

    利用Myeclipse开发struts应用程序

    javaweb移动开发程序设计的环境软件 Myeclipse

    MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的...

    Java开发利器Myeclipse

    MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能...

    myeclipse2017

    CI4_pjwj_itmop.com.rar,软件平台,MyEclipse企业级工作平台(MyEclipseEnterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极...

    Myeclipse+sqlserver配置安装录像

    MyEclipse企业级工作平台(MyEclipseEnterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的...

    Struts1.3 备忘笔记

    02 Struts_02MyEclipseApply : 借助于MyEclipse6开发Struct应用程序,演示用户登录 03 Struts_03Taglib : 演示Struct的标签库,html、bean、logic标签的用法 04 Struts_04DispatchAction : 分发Action,根据设置的...

    myeclipse.exe

    MyEclipse企业级工作平台(MyEclipseEnterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的...

    Myeclipse-10.7.1正版+破解(一)

    MyEclipse企业级工作平台(My Eclipse Enterprise Workbench,简称MyEclipse)是对EclipseIDE的扩展,利用它可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE...

    myeclipse 10最新中文包-一分钟汉化

    MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。 它是功能丰富...

    MyEclipse 注册说明 使用说明

    MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富...

    MyEclipse6.0汉化包

    MyEclipse企业级工作平台(MyEclipseEnterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的...

    Myeclipse 2014 及破解补丁 附带jdk 下载

    MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富...

    MyEclipse 8.5 注册码 序列号 下载地址

    MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的...

    最新myeclipse10中文版下载地址与汉化2013、注册码、破解包(汉化包2013更新)

     MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富...

    myeclipse 2017 stable 2.0 在线安装包下载

    MyEclipse企业级工作平台(MyEclipseEnterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的...

    基于JavaWeb的企业办公自动化系统设计与开发

    办公自动化管理系统基于Web的B/S三层应用程序体系构架,选择MyEclipse 10开发环境,采用J2EE SSH(Struts+Spring+Hibernate)框架技术,利用MVC设计模式将业务逻辑和表示逻辑分离,在表示逻辑层利用JSP技术实现了页面制作...

Global site tag (gtag.js) - Google Analytics