实战JBuilder8 + Struts,一个简单的例子

    技术2022-05-11  137

    实战JBuilder8 + Struts,一个简单的例子

     

    刘晓巍:liuxiaowei2000@sina.com

     

    一.            内容介绍

     

    本文说明了使用JBuilder 8 建立一个简单的Struts应用步骤,主要以步骤为主,理论说明较少。希望能够对大家有所帮助,也希望大家多多批评!

     

    运行环境:

    Windows 2000 Server(SP3)

    j2sdk1.4.1_01

    jakarta-struts-1.0.2(JBuilder8自带)

     

    二.            实战

    1          建立Web Application

    1.1      选择File-》New Project建立一个名为StrutsDemo新的项目,如下图所示:

    1

    1.2      单击Next,去掉Required Libraries中的项,其它不变,单击Finish即可。

    2

    1.3       选择Project-》Project Properties,按下图设置Server页,单击OK即可:

    3

     

    1.4         选择File-》New-》Web页-》Web Application,单击OK。

    4

     

    1.5         按下图填写后,单击OK即可。

    5

     

    2          建立ActionForm

    2.1         选择File-》New-》Web页-》ActionForm,单击OK。

    6

    2.2         按下图填写后,单击OK即可。

    7

    2.3         单击Add按钮,加入name和password字段的定义后,单击Next即可。

    8

    2.4         按下图填写后,单击Finish即可。

    9

    2.5          编写ActionForm代码。

    一般在ActionForm里进行简单的有效性检查,按如下填写 LoginActionForm的validate()函数:

      public ActionErrors validate(ActionMapping actionMapping, HttpServletRequest httpServletRequest) {

        ActionErrors errors = new ActionErrors();

        if ((name == null) || (name.length() < 1))

            errors.add("name", new ActionError("error.username.required"));

        if ((password == null) || (password.length() < 1))

            errors.add("password", new ActionError("error.password.required"));

        return errors;

      }

    3          建立Action

    3.1       选择File-》New-》Web页-》Action,单击OK。

    10

    3.2          按下图填写后,单击Next即可。

    11

    3.3         下图填写后,单击Finish即可。

    12

    3.4         编写Action代码。

    一般情况下在Action中编写逻辑,存取数据库等操作。按如下填写loginAction的perform()函数:

      public ActionForward perform(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) {

        LoginActionForm form = (LoginActionForm) actionForm;

        if (form.getName().equals("liuxiaowei")&&(form.getPassword().equals("liuxiaowei")))

        {

          // Save our logged-in user in the session

          HttpSession session = httpServletRequest.getSession();

          session.setAttribute("UserName", form.getName());

          return (actionMapping.findForward("success"));

        }

     

        ActionErrors errors = new ActionErrors();

        if (!form.getName().equals("liuxiaowei"))

          errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("error.username.wrong"));

        if (!form.getPassword().equals("liuxiaowei"))

          errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("error.password.wrong"));

        saveErrors(httpServletRequest,errors);

        return (actionMapping.findForward("login"));

      }

    4          建立JSP

    4.1      选择File-》New-》Web页-》JSP from ActionForm,单击OK。

    13

    4.2          按下图填写后,单击Next即可。

    14

    4.3          按下图填写后,单击Next即可。

    15

    4.4          按下图填写后,单击Finish即可。

    16

    4.5         修改login.jsp文件。

    修改完成后如下(红色是修改部分):

    <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>

    <%@ taglib uri="/WEB-INF/struts-template.tld" prefix="template" %>

    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>

    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>

    <%@ page contentType="text/html; charset=GBK" %>

    <html:html locale="true">

    <head>

    <title>

    <bean:message key="login.title"/>

    </title>

    </head>

    <body>

    <html:errors/>

    <bean:message key="login.heading"/>

    <p>

    <html:form action="/loginAction.do" method="POST">

    <bean:message key="login.inputName"/><html:text property="name"/>

    <br>

    <bean:message key="login.inputPassword"/><html:password property="password"/>

    <br>

    <html:submit property="submit" value="Submit"/><br>

    <html:reset value ="Reset"/>

    </html:form>

    </body>

    </html:html>

     

    4.6         选择File-》New-》Web页-》JavaServer Page,单击OK。

    17

    4.7         按下图填写后,单击Next即可。

    18

    4.8         按下图填写后,单击Finish即可。

    19

    4.9         修改loginOK.jsp文件。

    修改完成后如下(红色是修改部分):

    <%@ page contentType="text/html; charset=GBK" %>

    <%@ 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" %>

    <%@ taglib uri="/WEB-INF/struts-template.tld" prefix="template" %>

    <html>

    <head>

    <title>

    <bean:message key="loginOK.title"/>

    </title>

    </head>

    <body bgcolor="#ffffff">

    <h1>

    <%=request.getSession().getAttribute("UserName")%>

    <bean:message key="loginOK.message"/>

    </h1>

    </body>

    </html>

     

    4.10 修改struts-config.xml文件

    在左侧的文件树中双击struts-config.xml文件,选中下方的Global Forwards项单击右侧的Add按钮,添加两项,如下图所示:

    20

    4.11   修改web.xml文件

    在左侧的文件树中双击web.xml文件,选中下方的Servlets->action项,单击右侧的Add按钮,添加一项application,如下图所示:

     

           图21

    22

    4.12   编写资源文件

    选择File-》Save All保存所有文件。

    选择Project-》Make Project “StrutsDemo.jpx” 编译项目。

    编写一个名为ApplicationResources.properties的文本文件,保存至项目存放目录下的src/strutsdemo里面,并将其添加到项目里面,右键单击此文件,选择Properties,按下图设置。

    23

    文件内容如下:

    login.title=Struts Demo

    login.heading=<h1>Welcome to the StrutsDemo !</h1>

    lgoin.message=Welcome to the StrutsDemo !

    login.inputPassword=Please input Password :

    login.inputName=Please input Username :

    loginOK.title= User Login Successfull

    loginOK.message=<h1>Login Successfull !</h1>

    error.username.required=<h3><font color="red">UserName is Required !</font></h3>

    error.password.required=<h3><font color="red">Password is Required !</font></h3>

    error.username.wrong=<h3><font color="red">UserName is Wrong !</font></h3>

    error.password.wrong=<h3><font color="red">Password is Wrong !</font></h3>

    errors.footer=</ul><hr>

    errors.header=<h3><font color="red">Validation Error</font></h3>You must correct the following error(s) before proceeding:<ul>

    三.            运行应用程序

    1.      右键单击左边文件树中的login.jsp,选择WebRun Using Defaults即可。

    2.      如果不输入name和password,单击submit的话,会看到错误提示,这是ActionForm生成的。

    3.      如果输入了错误的name和password,单击submit的话,也会看到错误提示,这是由Action生成的,在本例中正确地name和password都是“liuxiaowei”,正确的话将会看到login successful页面,就是loginOK.jsp,用户名是通过session传递的。


    最新回复(0)