如何建立一个带登陆页面的Struts数据库应用程序

Codex 调试记录获取完全指南:日志查看、工具调用与实战排查教程 本文主要介绍了Codex 调试记录获取完全指南:日志查看、工具调用与实战排查教程,希望能对使用Codex的同学们有所帮助。 文章目录 1. 背景 2. 实战教程 阅读详情

如何建立一个带登陆页面的Struts数据库应用程序

[相关链接]

《JavaWebStudio系列开发工具Visaul Struts版本简介》http://dev.youkuaiyun.com/develop/article/28/28871.shtm

《如何实现最简单的Struts程序》http://dev.youkuaiyun.com/develop/article/28/28946.shtm

《Struts下拉框的实现》http://dev.youkuaiyun.com/develop/article/28/28956.shtm

《Sruts单选框的实现》http://dev.youkuaiyun.com/develop/article/29/29042.shtm

《Struts复选框的实现》http://dev.youkuaiyun.com/develop/article/29/29043.shtm

《Struts程序各文件之间的关系(1)》http://dev.youkuaiyun.com/develop/article/29/29131.shtm

《Struts程序各文件之间的关系(2)》http://dev.youkuaiyun.com/develop/article/29/29133.shtm

《如何实现Struts 数据库应用程序(1)》http://dev.youkuaiyun.com/develop/article/29/29151.shtm

《如何实现Struts 数据库应用程序(2)》http://dev.youkuaiyun.com/develop/article/29/29138.shtm

《如何在Struts 数据库应用程序中实现分页显示(1)》http://dev.youkuaiyun.com/develop/article/29/29139.shtm

《如何在Struts 数据库应用程序中实现分页显示(2)》http://dev.youkuaiyun.com/develop/article/29/29140.shtm

《如何在Struts 数据库应用程序中实现记录的删除、更新及链接》http://dev.youkuaiyun.com/develop/article/29/29219.shtm

《如何在Struts 数据库应用程序中实现记录的删除、更新及链接(续)》http://dev.youkuaiyun.com/develop/article/29/29222.shtm

《如何在Struts 数据库应用程序中实现记录的添加》http://dev.youkuaiyun.com/develop/article/29/29224.shtm

《如何在Struts 数据库应用程序中实现记录的添加(续)》http://dev.youkuaiyun.com/develop/article/29/29227.shtm

《如何建立一个带登陆页面的Struts数据库应用程序》

《如何建立一个带登陆页面及角色的Struts数据库应用程序》

 

http://community.youkuaiyun.com/Expert/topic/3084/3084548.xml?temp=.9735529

http://dev.youkuaiyun.com/user/kui

 

上述例子开发环境:Java Web Studio系列开发环境visual strutst版本。

最新JavaWebStudio下载地址:ftp://210.36.64.79/kui

上述例子源程序下载地址:ftp://210.36.64.79/kui

 

[目标]

本例的目标是实现一个用户登陆应用程序。用SQL Server 2000数据库保存用户信息。实现用户登陆页面、用户登陆验证、登陆检查标签等功能。

定义一个名为“users”表的字段:

录入一些测试数据:

  

[效果]

欢迎页面:

登陆页面:

 

登陆完成后主菜单页面:

如果不登陆而是直接运行主菜单页面用户查询页面,将会自动先转到用户登陆页面,这里不再给出演示效果图。

 

 

 [背景知识]

 

 

[步骤]

本例与《如何实现Struts 数据库应用程序》中的步骤相比,除了在建立新项目时一个选择“带登陆页面的Struts数据库应用模板”而另一个选择“空的Struts数据库应用模板”,以及在JSP页面中需要检查用户是否已登陆的地方加一个标签“<app:checkLogon/>”之外,其它步骤完全一样,这样相同的步骤详情见《如何实现Struts 数据库应用程序》。

 

1、打开Visual Struts开发环境:

从桌面JavaWebStudio快揵或BIN目录下的JavaWebStudio.exe文件启动JavaWebStudio的Visual Struts开发环境。

 

2、建立一个“空的Struts数据库应用模板”应用程序:

    选择菜单“文件”—“新建”—“新建项目”,弹出新建项目对话框,如下图1所示:

在对话框中选择“空的Struts数据库应用模板”,在项目名称中输入“Logon”,package (包名)和位置(项目的路径)采用默认的值就行,当然也可以根据需要改变。最后点击“确定”按钮完成新项目的建立。

在Logon项目根目录下包含四个子目录和两个文件,这是JavaWebStudio项目的标准结构,最好不要改变它们默认的名称,否则会出现问题。

利用“带登陆页面的Struts数据库应用模板”生成的项目,自动生成了用户登陆所需的logon.jsp和logonAction.java文件,同时还生成了用于用户登陆演示的文件,其中index.htm是带有一个“登陆”按钮,点击“登陆”按钮转到logon.jsp登陆输入页面,登陆输入完成并提交,如果登陆通过,则转到mainMenu.jsp主菜单页面。在主菜单页面</head>标签后加一个标签“<app:checkLogon/>”用于检查用户是否已经登陆,如果已登陆就继续显示页面,否则自动转到登陆页。

logon.jsp文件:

 

index.htm文件:

 

mainMenu.jsp文件:

 

3、利用Struts数据库应用文件向导建立新的应用:

在JavaWebStudio文件管理器内点击鼠标右键,在弹出的菜单中选择“Struts数据库应用文件向导”进入Struts文件向导对话框,也可以选择菜单“文件”—“新建”—“Struts数据库应用文件向导”进入Struts文件向导对话框。

在Struts文件向导对话框JSP文件标签下的文件名输入栏中输入“UserEdit”文件名,其它文件采用默认的设置。

 

(1)输入文件名:

(2)从数据源中导入SQL语句及数据表的字段信息(字段名和字段类型):

(3)从数据据表中选择所需的表“Users”。

需要特别注意的是,这里的“从数据源中导入SQL语句及数据表的字段信息”及“从数据据表中选择所需的表”仅仅是为了自动生成SQL语句及读取字段信息,这里完成可以直接手工输入,与该项目的数据库连接池的配置无关,下面第(4)点将另行配置数据库连接池。

 

 

接下来配置数据库连接池,其它属性页可采用默认的就行了,下面直接转去数据连接配置属性页即可。

 

(4)JSPOUT属性页设置:

JSPOUT属性页的设置是唯一与《如何实现Struts 数据库应用程序》中的步骤不同之处,这是本例的核心内容。从上图可看出,我们要做的仅仅是把JSPOUT属性页的设置中把“记录操作”选择项中分别选定记录的中添加即可。

 

(5)配置数据库连接池:

这里需要注意的是用户登陆也是用到这个数据库连接配置。

 

(6)在新生成的JSP文件中加上用户登陆检查标签<app:checkLogon/>:

新生成的JSP文件有三个,查询条件输入文件UserEdit.jsp、添加新记录输入文件UserEditInsert.jsp和查询结果显示文件UserEditOut.jsp。分别在这三个文件的</head>标签后加上用户登陆检查标签<app:checkLogon/>。

 

 

4、项目文件结构

项目目录结构分析见《如何实现最简单的Struts程序》,这次Struts数据库应用文件向导自动生成了六个文件,其中web目录下是输入、输出两个JSP文件,src目录下是Java文件。除了文件名是我们输入之外,所有程序源代码都是文件向导自动生成的,所有的配置也是自动完成的。

 

刷新JavaWebStudio文件管理器,这时发现web目录下自动生成了三个文件,分别是UserEdit.jsp和UserEdit.jsp和UserEditInsert.jsp,前者是输入JSP文件,中间是输出JSP文件,后者是添加记录页面文件;src/emptyprj目录下自动生成了四个文件,分别是UserEdit Action.java、UserEdit Form.java,前者是Action文件,后者是FormAction文件;还有是数据库操作文件UserEdit.java和UserEditDAO.java,前者用于保存数据表记录的Bean,后者是数据库操作DAO文件。

 

 

4.1、修改DAO文件:

如果数据选择的是SQL Server 2000,需要把DAO文件中的下面代码:

      //用SQL Server请加入下行:

      //con.setAutoCommit(true);

      //SQL Server

都改写成如下代码:

//用SQL Server请加入下行:

      con.setAutoCommit(true);   //注意啦!!就是这一行,原来是注解掉了,现在是把注解去掉!!

      //SQL Server

通过上述改写,才能通过JDBC对SQL Server 2000进行记录更新、删除和添加等操作。

 

4.2 在需要进行用户登陆识别的地方加入登陆识别标签

(1)UserEdit.jsp文件:

在<body>前加上<app:checkLogon/>标签

<%@ page contentType="text/html;charset=GB2312" language="java" %>

<%@ 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:html>

<head>

<title></title>

<html:base/>

</head>

 

<app:checkLogon/>

 

<body bgcolor="white">

<html:form  action="/UserEditAction.do?action=search&search=search&expression=NULL"                        method="post">

      请输入要查找的 username : <html:text property="username" />

      <html:submit value="查找" />

      <html:reset value="重写" />

  </html:form>

<html:form action="UserEditAction.do?action=search&expression=NULL" method="post">

      <html:submit value="全部显示" />

  </html:form>

</body>

</html:html>

 

4.3 在mainMenu.jsp主菜单页面的左页面left.htm中加入一个新菜单项“用户查查询”:

加入的代码主要是:<A href="UserEdit.jsp" target=main>用户查询</A>

 

5、编译、启动服务器、运行:

   通过工具条上的按键分别编译项目及启动服务器,然后把开index.htm并通过工具条上的“运行”按键运行index.htm,并输入相应的数据:

 点击“登陆”:

输入正确的用户名和密码,选择“发送”,转到主菜单页面:

 

如果不登陆而是直接运行mainMenu.jsp主菜单页面或UserEdit.jsp查询页面,将会自动先转到用户登陆页面,这里不再演示。

 

通过上述步骤,实现了预计的目标功能。

 

[程序源代码]

与《如何实现Struts 数据库应用程序》相比,本例主要是多了用户登陆所需的logon.jsp、logonAction.java文件以及用于检查用户是否已登陆的自定义标签文件CheckLogonTag.java,由于logon.jsp文件没有什么特别之处,所以这里就不列出来。

logonAction.java文件:

package emptyprj;

 

import emptyprj.jdbc.util.ConnectionPool;

import java.util.Locale;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpSession;

import javax.servlet.http.HttpServletResponse;

import org.apache.commons.logging.Log;

import org.apache.commons.logging.LogFactory;

import org.apache.struts.action.Action;

import org.apache.struts.action.ActionError;

import org.apache.struts.action.ActionErrors;

import org.apache.struts.action.ActionForm;

import org.apache.struts.action.ActionForward;

import org.apache.struts.action.ActionMapping;

import org.apache.struts.util.ModuleException;

import org.apache.struts.util.MessageResources;

import org.apache.commons.beanutils.PropertyUtils;

 

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.HashMap;

 

import java.util.Collection;

public final class LogonAction extends Action {

    private Log log =

        LogFactory.getLog("org.apache.struts.webapp.Example");

       

     private ConnectionPool pool;

    

     public LogonAction() {

        pool = ConnectionPool.getInstance();

    }

    public ActionForward execute(ActionMapping mapping,

                 ActionForm form,

                 HttpServletRequest request,

                 HttpServletResponse response)

    throws Exception {

 

    // Extract attributes we will need

    Locale locale = getLocale(request);

    MessageResources messages = getResources(request);

   

    // Validate the request parameters specified by the user

    ActionErrors errors = new ActionErrors();

    String username = (String)

            PropertyUtils.getSimpleProperty(form, "username");

        String password = (String)

            PropertyUtils.getSimpleProperty(form, "password");

           

   

   

   if (!CheckUser(username,password))

    {

               errors.add(ActionErrors.GLOBAL_ERROR,

                          new ActionError("error.password.mismatch"));

    }

 

    // Report any errors we have discovered back to the original form

    if (!errors.isEmpty()) {

        saveErrors(request, errors);

            return (mapping.getInputForward());

    }

 

    // Save our logged-in user in the session

    HttpSession session = request.getSession();

   

    session.setAttribute(Constants.USER_KEY, username);

   

    if (log.isDebugEnabled()) {

            log.debug("LogonAction: User '" + username +

                      "' logged on in session " + session.getId());

     }

 

        // Remove the obsolete form bean

    if (mapping.getAttribute() != null) {

            if ("request".equals(mapping.getScope()))

                request.removeAttribute(mapping.getAttribute());

            else

                session.removeAttribute(mapping.getAttribute());

        }

  

    // Forward control to the specified success URI

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

 

    }

    public boolean CheckUser(String username,String password)

    {

      Connection con = null;   

      try

      {

        con = pool.getConnection();

        String sql = "SELECT * from dbo.users  WHERE username = ? AND password= ?";

               

        PreparedStatement ps = null;

        ResultSet rs = null;

      

        try {

              if (con.isClosed()) {

            throw new IllegalStateException("error.con.isClosed");

          }

           ps = con.prepareStatement(sql);

           ps.setString(1,username);

           ps.setString(2,password);

           rs = ps.executeQuery();

 

          if(rs.next())

           {

                return true;

           }

           return false;

 

 

         } catch (SQLException e) {

           e.printStackTrace();

           throw new RuntimeException("error.ps.executeQuery");

         } finally {

         try {

             if (ps != null)

                ps.close();

             if (rs != null)

                rs.close();

           } catch (SQLException e) {

              e.printStackTrace();

              throw new RuntimeException("error.rs.close");

           }

         }

   

        }

         

        catch (SQLException e)

        {

            e.printStackTrace();

            throw new RuntimeException("Unable to get connection.");

        }

        finally

        {

             try

             {

            if (con != null)

            con.close();

             }

             catch (SQLException e)

             {

            throw new RuntimeException(e.getMessage());

             }

       }

     

  }

 

 

}

 

 

CheckLogonTag.java文件:

用于检查用户是否已登陆的自定义标签原代码。

package emptyprj;

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.http.HttpSession;

import javax.servlet.jsp.JspException;

import javax.servlet.jsp.tagext.TagSupport;

import org.apache.struts.config.ModuleConfig;

public final class CheckLogonTag extends TagSupport {

   private String name = Constants.USER_KEY;

    private String page = "/logon.jsp";

    public String getName() {

       return (this.name);

    }

 

    public void setName(String name) {

       this.name = name;

    }

    public String getPage() {

       return (this.page);

    }

    public void setPage(String page) {

       this.page = page;

    }

    public int doStartTag() throws JspException {

       return (SKIP_BODY);

    }

    public int doEndTag() throws JspException {

            // Is there a valid user logged on?

        boolean valid = false;

        HttpSession session = pageContext.getSession();

        if ((session != null) && (session.getAttribute(name) != null)) {

            valid = true;

        }

   

        // Forward control based on the results

        if (valid) {

            return (EVAL_PAGE);

        } else {

            ModuleConfig config =

                (ModuleConfig) pageContext.getServletContext().getAttribute(

                    org.apache.struts.Globals.MODULE_KEY);

           

                try {

                    pageContext.forward(config.getPrefix() + page);

                } catch (ServletException e) {

                    throw new JspException(e.toString());

                } catch (IOException e) {

                    throw new JspException(e.toString());

                }

            

            return (SKIP_PAGE);

        }

   

    }

    public void release() {

        super.release();

        this.name = Constants.USER_KEY;

        this.page = "/logon.jsp";

    }

}

 

 

Qt(C++)使用QChart动态显示3个设备的温度变化曲线 Qt的QChart是一个用于绘制图表和可视化数据的类。提供了一个灵活的、可扩展的、跨平台的图表绘制解决方案,可以用于各种应用程序,如数据分析、科学计算、金融交易等。 阅读详情

相关推荐

Flutter版本升级踩坑实录:从3.27到3.35,我们是如何修复Impeller引擎导致的花屏问题的?

本文详细记录了团队在Flutter版本升级过程中遇到的Impeller引擎导致的花屏问题及解决方案。从问题诊断到最终升级至稳定版3.35,文章分享了排查步骤、升级策略和性能对比数据,为开发者提供了实用的参考经验。

weixin_26854555的博客 502

简单的界面登录实现(struts+hibernate实现)

#创建表UserCREATE TABLE USEE( ID int(11), NUM VARCHAR(45), NAME VARCHAR(45), PASSWORD VARCHAR(45), PRIMARY KEY (ID))在编译器中生成相应的bean类以及映射xml(也可以使用注解)public class Usee implements Serializable { private in

lihuan6656的博客 9430

802.1AS-2011_Gptp协议栈

GPTP(广义时钟同步协议,或IEEE 802.1AS)的基本功能是确保局域网中所有的时钟都同步,并提供时间信息。这种协议用于在局域网中进行同步和时间对齐,其目的是确保网络中各设备的时间一致性。

weixin_49041703的博客 2541

理想的Citrix桌面虚拟环境之7 - 用Access Gateway为XenDesktop环境建立安全的入口

<br /> <br />这一回介绍如何为XenDesktop网络环境设置一个安全的访问入口。当然,花钱购买路由和防火墙设备也能实现。Citrix Access Gateway(CAG)的VPX版问世了,它提供了一个不用花钱也能构筑安全访问入口的方式。正确的说,CAG是由两个产品结合而成的。CAG本来是一个VPN产品,Secure Gateway(SG)的功能是后来被加到CAG里面去的。但是CAG一直没能真正的替代SG,因为CAG是一个硬件产品而SG是一个软件产品。SG是免费的,而CAG需要花钱购买硬件设备

qq418814的专栏 1676

大地坐标系与经纬度转换(一):大地坐标系简介

一、大地坐标系 大地坐标系是大地测量中以参考椭球面为基准面建立起来的坐标系。地面点的位置用大地经度、大地纬度和大地高度表示。 二、地心坐标系 ...

qq_42895926的博客 6万+

AD5700 HART芯片实战笔记:从时钟检测到数据收发,一个STM32工程师的踩坑实录

本文详细记录了STM32工程师在AD5700 HART芯片开发中的实战经验,涵盖时钟信号检测、RTS切换时序优化及HART数据解析等关键问题。通过硬件设计检查、定时器配置优化和大小端转换方案对比,解决了工业级芯片开发中的典型挑战,为嵌入式开发者提供宝贵参考。

weixin_42715608的博客 164

如何开始一个Struts项目

项目:实现用户登录操作

u012407438的专栏 513

计算机毕业设计springboot基于微信平台的二次元手办商场小程序【附源码】

选题背景: 随着二次元文化的兴起和普及,越来越多的人开始对二次元角色产生了浓厚的兴趣和喜爱。手办作为二次元文化的重要载体之一,成为了许多二次元爱好者收藏和展示的对象。然而,在传统的线下手办商场中,消费者往往面临着时间、空间和选择的限制。因此,基于微信平台的二次元手办商场小程序应运而生。 选题意义: 首先,基于微信平台的二次元手办商场小程序能够打破地域限制,使得用户可以随时随地通过手机进行购物。无论是在家中、上班途中还是旅行中,用户都能够方便地浏览和购买自己喜欢的手办,极大地提高了购物的便利性和灵活性。

拉期程序 450

如何建立一个带登陆页面及角色的Struts数据库应用程序

如何建立一个带登陆页面及角色的Struts数据库应用程序     [目标] 本例的目标是实现一个用户登陆应用程序。用SQL Server 2000数据库保存用户信息。实现用户登陆页面、用户登陆验证、登陆检查标签等功能。 定义一个名为“users”表的字段: 录入一些测试数据:    例如上面的数据,一个用户可能有一个角色,也可以有多个角色。对于多个角色,可以用多条记录来表示,一条记录表示一个角

kui的专栏 3653

LeRobot 入门教程(十七)NVIDIA IsaacLab Arena 集成

LeRobotEnvHub现已集成IsaacLabArena实现GPU加速仿真,支持GR1/G1/伽利略人形机器人实体和多种操作任务。安装需满足CUDA GPU、Ubuntu系统和IsaacSim 5.1.0要求,通过conda环境配置依赖项。系统提供SmolVLA和PI0.5等预训练策略评估功能,支持视频录制和并行环境配置。环境配置选项涵盖机器人实体、任务类型、观测维度等参数,并包含针对CUDA内存、视频录制等常见问题的解决方案。此外,LightWheel AI还通过LW-BenchHub引入了包含268

2506_90492529的博客 1246

【图像增强】论文精读:Correlation Matching Transformation Transformers for UHD Image Restoration(UHDformer)

论文题目:Correlation Matching Transformation Transformers for UHD Image Restoration —— 用于UHD图像恢复的相关匹配变换变压器AAAI 2024!本文提出了一种用于超高清(UHD)图像恢复的通用变压器UHDformer。UHDformer包含两个学习空间:(a) 高分辨率空间中的学习,(b)低分辨率空间中的学习。前者学习多层次的高分辨率特征,融合低层特征,重建残差图像,后者从高分辨率特征中学习更多的代表性特征,以促进更好的恢复。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 289

运用struts2制作登陆页面的验证(一)

新建一个项目

失落炽天使的专栏 951

23、电生理与CSD分析:探索大脑活动的前沿技术

本文介绍了电生理与电流源密度(CSD)分析在探索大脑活动中的前沿应用。从电生理技术的发展现状,到局部场电位(LFPs)的起源与解释,重点阐述了CSD分析的原理、实验方法及其在绘制皮层兴奋流、解析突触输入和研究自发振荡中的广泛应用。文章还总结了该领域的优势与挑战,并展望了技术改进、多模态融合、数据分析创新及临床拓展的未来方向,展示了这些技术在揭示大脑功能机制中的关键作用。

Apple的专栏 119

运用struts2框架实现登陆注册

刚刚学完struts2框架,趁热打铁,做了个struts2MVC小项目练练手。主要用到了struts2的机制实现了登陆注册, 1.字符串到POJO类型的转换, 2.利用i18n拦截器实现了中英文国际化, 3.利用validate拦截器框架效验实现服务器端输入验证, 4.struts2标签库以及利用自定义拦截器实现权限控制(第四条下篇博客再进行介绍) 建完项目后,要引入jar包,我们用my

csdn_wyl的博客 3万+

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Eclipse创建基于Struts框架的简单登陆页面

1-创建dynamic web project 目录结构如下 2打开 web.xml文件,添加以下代码 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/...

xiangrong_zhou 806

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

你的第一个struts应用程序

有句古话虽说“苦干不如巧干”,但有时却是说来容易做来难。然而你一旦掌握了Struts技术-一个用来构建严谨Web程序的框架-你开发程序的效率会比现在更高。遗憾的是,大多数程序员觉得学习Struts是一个艰难的曲折过程。本文(六篇系列文章的第一篇)给那些使用过servlets或JSP页面但对Struts了解不多的程序员提供了一个quick start。我会教你如何安装和配置Struts,并展示建立在

熊熊乐园-JAVA篇 781

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

struts2中从页面取值的三种方式

在图解:在Eclipse中建立第一个Struts2程序中我们建立了第一个struts程序,那么如何把登陆页面中的用户名传递到登录成功的页面中呢? 有三种方式, 1,使用默认的action的传递方式。 2,自定义一个vo,在action中使用这个vo 3,使用ModelDriven的方式。 下面分别叙述。 1,使用默认的action的传递方式。 action文件如下: pac

u012150795的专栏 4824

如何实现Struts 数据库应用程序

 如何实现Struts 数据库应用程序 [相关链接]《JavaWebStudio系列开发工具Visaul Struts版本简介》http://dev.youkuaiyun.com/develop/article/28/28871.shtm《如何实现最简单的Struts程序》http://dev.youkuaiyun.com/develop/article/28/28946.shtm《Struts下拉框的实现》

kui的专栏 1713

Struts2实现登陆功能Demo

最近在学习SSH框架,通过用struts实现一个简单的登陆功能,来学习struts相关知识,着重了解了struts的配置。

王二的专栏 8055

Struts2登陆的Demo

通过Struts2实现登陆的小案例 源码下载地址:https://coding.net/u/gxs1225/p/Struts2_Login/git 代码如下: struts.xml struts> package name="mypackage" namespace="" extends="struts-default"> action name="login

lz155的博客 371

Struts2自定义拦截器实例—登陆权限验证

版本:struts2.1.6 此实例实现功能:用户需要指定用户名登陆,登陆成功进入相应页面执行操作,否则返回到登陆页面进行登陆,当直接访问操作页面(登陆后才能访问的页面)时则不允许,须返回登陆页面。 代码如下: 一、页面 login.jsp [xhtml] view plaincopy %@ page language="java" import="java.uti

fanlulu2015的博客 466

用Struts2做一个简单的的用户登陆界面

做一个简单的Struts2框架的用户登陆网页(一起学习) 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮...

每天就学一点点的博客 2372

如何实现Struts 数据库应用程序(2)

[相关链接]《JavaWebStudio系列开发工具Visaul Struts版本简介》http://dev.youkuaiyun.com/develop/article/28/28871.shtm《如何实现最简单的Struts程序》http://dev.youkuaiyun.com/develop/article/28/28946.shtm《Struts下拉框的实现》http://dev.youkuaiyun.com/deve

kui的专栏 1421

如何实现Struts 数据库应用程序(1)

如何实现Struts 数据库应用程序 [相关链接]《JavaWebStudio系列开发工具Visaul Struts版本简介》http://dev.youkuaiyun.com/develop/article/28/28871.shtm《如何实现最简单的Struts程序》http://dev.youkuaiyun.com/develop/article/28/28946.shtm《Struts下拉框的

kui的专栏 2169

一个简单的struts页面

      用Myeclipse建立一个简单的 formbean和action实现简单的页面登陆功能.视图为regedit.jspregedit.jsp主要代码如下:   address :    name :      很简单,只有两个文本框架用于用户输入地址和名字,还有提交按钮和取消按钮.启动tomcat看看在浏览器(客户端)运行时的代码.action="/struts/r

hwgo的专栏 777

在Struts2中实现登陆后跳转到登录前页面

很常见的一个应用就是访问某个页面,因为权限不够,进入登陆页面。人性化的设计是能够在登陆之后,系统跳转到用户原本需要访问的页面。这可以借助拦截器来实现。 在我们验证用户登陆的拦截器里面获取请求地址,并存入session。 package com.tuanplus.interceptor; import java.util.Map; import javax.servlet....

anxunmu0298的博客 200
上一篇: 如何实现Struts 数据库应用程序(1)
下一篇: 如何建立一个带登陆页面及角色的Struts数据库应用程序
kui
kui
博客等级 码龄25年 199粉丝 25原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值