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

J2EE 专栏收录该内容
6 篇文章 0 订阅

实战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
    点赞
  • 3
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
<p style="color:#666666;"> <span style="font-size:14px;">本门课程重实战将基础知识拆解到项目里让你在项目情境里学知识。</span> </p> <p style="color:#666666;"> <span style="font-size:14px;">这样学习方式能让你保持兴趣、充满动力时刻知道学东西能用在哪、能怎么用。</span> </p> <p style="color:#666666;"> <span style="font-size:14px;">平时不明白知识点放在项目里去理解就恍然大悟了。</span> </p> <p style="color:#666666;"> <span></span> </p> <p style="color:#666666;"> <span style="font-size:14px;"> </span> </p> <p style="color:#666666;"> <span style="color:#FF0000;font-size:14px;"><strong>一、融汇贯通</strong></span> </p> <p style="color:#666666;"> <span style="font-size:14px;">本视频采用了前后端分离开发模式前端使用Vue.js+Element UI实现了Web页面呈现后端使用Python Django框架实现了数据访问接口前端通过Axios访问后端接口获得数据。在学习完本章节后真正理解前后端各自承担工作。</span> </p> <p style="color:#666666;"> <span style="font-size:14px;"> </span> </p> <p style="color:#666666;"> <span style="color:#FF0000;font-size:14px;"><strong>二、贴近实战</strong></span> </p> <p style="color:#666666;"> <span style="font-size:14px;">本系列课程为练手项目实战:学生管理系统v4.0开发项目包含了如下几个内容:项目总体介绍、基本功能演示、Vuejs初始化、Element UI使用、在Django中实现针对数据增删改查接口、在Vuejs中实现前端增删改查调用、实现文件上传、实现表格分页、实现导出数据到Excel、实现通过Excel导入数据、实现针对表格批量化操作等等所有功能都通过演示完成、贴近了实战</span> </p> <p style="color:#666666;"> <span style="font-size:14px;"> </span> </p> <p style="color:#666666;"> <span style="color:#FF0000;font-size:14px;"><strong>三、课程亮点</strong></span> </p> <p style="color:#666666;"> <span style="font-size:14px;">在本案例中最大亮点在于前后端做了分离真正理解前后端各自承担工作。前端如何和后端交互</span> </p> <p style="color:#666666;"> <span style="font-size:14px;"> </span> </p> <p style="color:#666666;"> <span style="color:#FF0000;font-size:14px;"><strong>适合人群:</strong></span> </p> <p style="color:#666666;"> <span style="font-size:14px;">1、有Python语言基础、web前端基础想要深入学习Python Web框架朋友;</span> </p> <p style="color:#666666;"> <span style="font-size:14px;">2、有Django基础但是想学习企业级项目实战朋友;</span> </p> <p style="color:#666666;"> <span style="font-size:14px;">3、有MySQL数据库基础朋友</span> </p> <p style="color:#666666;"> <span style="font-size:14px;"> </span> </p> <p style="color:#666666;"> <span style="font-size:14px;"><img alt="" src="https://img-bss.csdnimg.cn/202009070752197496.png" /><br /> </span> </p> <p style="color:#666666;"> <span style="font-size:14px;"><br /> </span> </p>
<div style="color:rgba(0,0,0,.75);"> <span style="color:#4d4d4d;"> </span> <div style="color:rgba(0,0,0,.75);"> <span style="color:#4d4d4d;"> </span> <div style="color:rgba(0,0,0,.75);"> <div style="color:rgba(0,0,0,.75);"> <span style="color:#4d4d4d;">当前课程中商城项目实战源码是我发布在 GitHub 上开源项目 newbee-mall (新蜂商城)目前已有 6300 多个 star</span><span style="color:#4d4d4d;">本课程是一个 Spring Boot 技术栈实战类课程课程共分为 3 大部分前面两个部分为基础环境准备和相关概念介绍第三个部分是 Spring Boot 商城项目功能讲解让大家实际操作并实践上手一个大型线上商城项目并学习到一定开发经验以及其中开发技巧。<br /> 商城项目所涉及功能结构图整理如下:<br /> </span> </div> <div style="color:rgba(0,0,0,.75);">   </div> <div style="color:rgba(0,0,0,.75);"> <p style="color:#4d4d4d;"> <img alt="modules" src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly9uZXdiZWUtbWFsbC5vc3MtY24tYmVpamluZy5hbGl5dW5jcy5jb20vcG9zdGVyL3N0b3JlL25ld2JlZS1tYWxsLXMucG5n?x-oss-process=image/format,png" /> </p> </div> <p style="color:rgba(0,0,0,.75);"> <strong><span style="color:#e53333;">课程特色</span></strong> </p> <p style="color:rgba(0,0,0,.75);">   </p> <div style="color:rgba(0,0,0,.75);">   </div> <div style="color:rgba(0,0,0,.75);"> <ul> <li> 对新手开发者十分友好无需复杂操作步骤仅需 2 秒就可以启动这个完整商城项目 </li> <li> 最终实战项目是一个企业级别 Spring Boot 大型项目对于各个阶段 Java 开发者都是极佳选择 </li> <li> 实践项目页面美观且实用交互效果完美 </li> <li> 教程详细开发教程详细完整、文档资源齐全 </li> <li> 代码+讲解+演示网站全方位保证向 Hello World 教程说拜拜 </li> <li> 技术栈新颖且知识点丰富学习后可以提升大家对于知识理解和掌握可以进一步提升你市场竞争力 </li> </ul> </div> <p style="color:rgba(0,0,0,.75);">   </p> <p style="color:rgba(0,0,0,.75);"> <span style="color:#e53333;">课程预览</span> </p> <p style="color:rgba(0,0,0,.75);">   </p> <div style="color:rgba(0,0,0,.75);">   </div> <div style="color:rgba(0,0,0,.75);"> <p style="color:#4d4d4d;"> 以下为商城项目页面和功能展示分别为: </p> </div> <div style="color:rgba(0,0,0,.75);"> <ul> <li> 商城首页 1<br /> <img alt="" src="https://img-bss.csdnimg.cn/202103050347585499.gif" /> </li> <li> 商城首页 2<br /> <img alt="" src="https://img-bss.csdn.net/202005181054413605.png" /> </li> <li>   </li> <li> 购物车<br /> <img alt="cart" src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly9uZXdiZWUtbWFsbC5vc3MtY24tYmVpamluZy5hbGl5dW5jcy5jb20vcG9zdGVyL3Byb2R1Y3QvY2FydC5wbmc?x-oss-process=image/format,png" /> </li> <li> 订单结算<br /> <img alt="settle" src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly9uZXdiZWUtbWFsbC5vc3MtY24tYmVpamluZy5hbGl5dW5jcy5jb20vcG9zdGVyL3Byb2R1Y3Qvc2V0dGxlLnBuZw?x-oss-process=image/format,png" /> </li> <li> 订单列表<br /> <img alt="orders" src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly9uZXdiZWUtbWFsbC5vc3MtY24tYmVpamluZy5hbGl5dW5jcy5jb20vcG9zdGVyL3Byb2R1Y3Qvb3JkZXJzLnBuZw?x-oss-process=image/format,png" /> </li> <li> 支付页面<br /> <img alt="" src="https://img-bss.csdn.net/201909280301493716.jpg" /> </li> <li> 后台管理系统登录页<br /> <img alt="login" src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly9uZXdiZWUtbWFsbC5vc3MtY24tYmVpamluZy5hbGl5dW5jcy5jb20vcG9zdGVyL3Byb2R1Y3QvbWFuYWdlLWxvZ2luLnBuZw?x-oss-process=image/format,png" /> </li> <li> 商品管理<br /> <img alt="goods" src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly9uZXdiZWUtbWFsbC5vc3MtY24tYmVpamluZy5hbGl5dW5jcy5jb20vcG9zdGVyL3Byb2R1Y3QvbWFuYWdlLWdvb2RzLnBuZw?x-oss-process=image/format,png" /> </li> <li> 商品编辑<br /> <img alt="" src="https://img-bss.csdnimg.cn/202103050348242799.png" /> </li> </ul> </div> </div> </div> </div>
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值