`

利用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 是一个集成开发环境(IDE),它提供了对Struts框架的强大支持,包括图形化的Struts Designer工具,使得开发Struts应用程序变得更加便捷。在本教程中,我们将探讨如何使用MyEclipse来开发一个简单的Struts...

    利用MyEclipse开发Struts+Hibernate应用

    8. **学习资源**:除了阅读“利用MyEclipse开发Struts+Hibernate应用.pdf”文档外,还可以参考Struts和Hibernate的官方文档,以及众多在线教程和论坛,如Stack Overflow,获取更多实践经验和解决方案。 以上就是...

    利用MyEclipse开发Struts+Hibernate应用.rar_Eclipse_myeclipse_myeclipse

    【标题】"利用MyEclipse开发Struts+Hibernate应用.rar" 涉及到的是一个关于集成开发环境MyEclipse的教程,重点是如何在其中整合并使用Struts和Hibernate两个框架来构建Java Web应用程序。MyEclipse是Eclipse的一个...

    使用MyEclipse6开发Struts+Spring应用程序Samples Project

    在MyEclipse6中开发Struts+Spring应用,你需要先安装Struts和Spring的插件,以便获得更好的支持。MyEclipse6提供了丰富的工具集,如代码提示、自动构建路径、部署配置等,能极大地提升开发效率。 具体步骤如下: 1...

    MyEclipse开发Struts实例

    综上所述,"MyEclipse开发Struts实例"是一个实践教程,旨在帮助开发者掌握如何在MyEclipse环境中搭建和运行Struts应用。通过学习这个实例,开发者可以了解到Struts框架的基本结构,以及MyEclipse提供的便利工具,...

    myEclipse创建Struts Project

    以上就是关于"myEclipse创建Struts Project"的主要知识点,通过理解这些概念并实际操作,开发者可以高效地利用MyEclipse和Struts框架构建Java Web应用程序。在实际开发中,还需要不断学习和熟练掌握Struts的高级特性...

    MyEclipse开发Struts2

    以上是MyEclipse中开发Struts2的基本步骤,实际开发中可能涉及更多复杂性,如拦截器、结果类型、国际化、异常处理等。不过,理解这些基本概念和流程,可以帮助你快速上手Struts2的开发。在实践中不断探索和学习,你...

    MyEclipse开发struts视屏

    "MyEclipse开发struts视频"这一标题表明了内容的核心,即通过MyEclipse这款集成开发环境(IDE)进行Struts框架的学习和应用。MyEclipse是Eclipse的扩展,专为Java EE开发者设计,提供了一系列便捷的工具支持,包括...

    MyEclipse 2014创建Struts2+Spring+Hibernate

    MyEclipse 2014是一个流行的集成开发环境(IDE),专门针对Java EE的开发而设计,它提供了一系列的工具和功能,以帮助开发者更高效地创建复杂的网络应用程序。在MyEclipse 2014中创建基于Struts2、Spring和Hibernate...

    MyEclipse_Struts_Quickstart.rar_eclipse struts_myeclipse_myeclip

    通过分享这些资源,作者鼓励大家共同学习和进步,掌握在MyEclipse中高效开发Struts应用的技巧。 【标签】所包含的关键词: - "eclipse":这是一个流行的开源Java IDE,用于开发各种类型的应用程序。 - "struts":...

    myeclipse开发struts实例

    在MyEclipse中开发Struts实例,首先需要了解以下几个关键步骤和知识点: 1. **环境配置**: - 安装MyEclipse:确保已经安装了MyEclipse,并且版本支持Struts框架开发。 - 安装Struts库:在MyEclipse中,通过...

    MyEclipse支持的struts2简单例子

    这个例子展示了Struts2框架如何组织Action、配置文件、视图以及表单,帮助开发者快速构建复杂的Web应用程序。在实际项目中,还可以进一步扩展,如添加拦截器进行权限控制,或利用Struts2的注解简化配置等。

Global site tag (gtag.js) - Google Analytics