zoukankan      html  css  js  c++  java
  • 使用Struts,实现简单的登录

    一、新建项目Struts

    1.右键 new————Web Project

    2.点击项目——右键——myeclipse——add Struts Capabilities.....——选择struts2.1 添加 jar 包

    此时项目下就有struts的jar 包

    二、开始写struts部分代码

    1.首先要创建一个LoginAction

    步骤:点击src下的包--->右键——>class——>取名LoginAction——>点击Browse——>继承ActionSupport——>打开LoginAction后鼠标右键——>source——> @Override/Implement Method——>重写execute()方法

    当然,首先需要定义它的两个属性userID、password,并生成getter and setter方法。在这里自定义用户ID为 "admin" 用户密码为 “123” 具体如下:

    package action;

    import com.opensymphony.xwork2.ActionSupport;

    public class LoginAction extends ActionSupport {
    /**
    *
    */
    private static final long serialVersionUID = 1L;
    private String userID, password;

    public String getUserID() {
    return userID;
    }

    public void setUserID(String userID) {
    this.userID = userID;
    }

    public String getPassword() {
    return password;
    }

    public void setPassword(String password) {
    this.password = password;
    }

    @Override
    public String execute() throws Exception {
    if (userID.equals("admin") && password.equals("123"))
    return "success";
    else
    return "false";
    }

    }

    2.配置struts.xml文件,主要注意action的name,class相对应的名字,以及result 的执行结果(name *)

    <package name="default" extends="struts-default">
    <!-- 用户登录 -->
    <action name="userlogin" class="action.LoginAction">
    <result name="success">/main.jsp</result>
    <result name="false">/false.jsp</result>
    </action>
    </package>

    3.再写 login.jsp代码,客户端需要输入用户名及密码,传给C层 ,以便C做出相应的处理

    body部分 代码如下:访问服务器是需要手动输入相应的用户ID及密码

    <body>
    <center>
    <form action="userlogin.action" method="post">
    用户ID:<input type="text" name="userID"><br>
    密&nbsp;码:<input type="password" name="password" ><br>
    <input type="submit" value="登录">
    </form>
    </center>
    </body>

    4.由上可知result的执行结果还有两个界面(main.jsp、false.jsp)

        4.1 main.jsp 注意要将struts标签引入,否则该标签不会生效

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%@ taglib uri="/struts-tags" prefix="s" %>

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>这是主页面</title>
    </head>

    <body>
    登录成功,欢迎<s:property value="userID"></s:property>!

    </body>
    </html>

        4.2 false.jsp  此页面只是显示登录失败的信息,所以只需一句提示语即可

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>My JSP 'false.jsp' starting page</title>

    </head>
    <body>
    登录失败!
    </body>
    </html>

    三、运行,调试

    1.将该项目部署在Tomcat服务器上,开启服务,并在浏览器访问该项目的Login.jsp

    此时显示出登录界面,有用户ID和密码连个编辑框,需要手动输入相应的值

    当我输入用户ID为 “aaa”,密码为“123” 并且是错误的时候,action将识别我输入的用户ID及密码是否正确。结果显示登录失败

     

    再次退回 login.jsp,输入正确的用户ID及密码时,即可登录成功。

    四、总结,体会

         运用 struts的 Action 处理客户端传过来的请求,相当于C,但是比servlet简洁得多,之前用servlet繁琐,路径易出错;现在的struts在action中处理了这个问题。

    容易忽略掉的是:

    1.struts的Jar包没有导入;

    2.相应的sruts.xml文件没有配置正确;

    3.action 的name值尽量不要用敏感词汇,比如:login、bean等,不然很容易出错

    4.地址栏访问的页面要符合逻辑,要注意斟酌struts的工作原理。

    本文来自博客园,作者:💞Travelerᘗ,转载请注明原文链接:https://www.cnblogs.com/LindaBlog/p/5333080.html

  • 相关阅读:
    在 WinForm 中打开页面采用POST方式传参http。可以多个参数传递,返回json字符串
    交换平台第二章:项目边界与架构设计(上)
    物理隔离下的数据交换平台难点解析与实践(一)
    十年风雨,一个普通程序员的成长之路(六)抉择与出发
    十年风雨,一个普通程序员的成长之路(五) 成长:得到与教训
    十年风雨,一个普通程序员的成长之路(四)深圳:积累与转折
    十年风雨,一个普通程序员的成长之路(三)铜陵:大雪与加班
    十年风雨,一个普通程序员的成长之路(二)外包:颠沛与流离
    十年风雨,一个普通程序员的成长之路(一)怀念:西安的小黑屋
    多数据源连接Oracle报错,linux熵池耗尽问题
  • 原文地址:https://www.cnblogs.com/LindaBlog/p/5333080.html
Copyright © 2011-2022 走看看