一、新建项目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的工作原理。

使用Struts,实现简单的登录的更多相关文章

  1. 用struts实现简单的登录

    1.建项目时选java EE6.0 2.写登陆界面 <body> <center> <form id="form1" name="form1 ...

  2. Struts 2简单实例

    Struts 2简单实例 参考: [java开发系列]—— struts2简单入门示例 - xingoo - 博客园https://www.cnblogs.com/xing901022/p/39616 ...

  3. Xamarin.Android再体验之简单的登录Demo

    一.前言 在空闲之余,学学新东西 二.服务端的代码编写与部署 这里采取的方式是MVC+EF返回Json数据,(本来是想用Nancy来实现的,想想电脑太卡就不开多个虚拟机了,用用IIS部署也好) 主要是 ...

  4. 以最简单的登录为例,诠释JS面向对象的简单实例

    JavaScript,是前端开发人员必须会的一门技术,从JS演变出来的有很多框架,先说说几个热门的框架吧: JQuery:这个技术必须会,如果不会,那一定要会查api,知道怎么写,要看得懂英文文档,这 ...

  5. struts中简单的校验

    Struts中简单的校验 “计应134(实验班) 凌豪” Struts2校验简要说明:struts2中通常情况下,类型转换要在数据校验之前进行.类型转换其实也是基本的服务器端校验,合法数据必然可以通过 ...

  6. Android破解学习之路(一)——简单的登录破解

    最近突然心血如潮开始学了Android破解,初入门,便是将经验记录下来. 准备工作: 1.一个登录简单APP 在我们破解之前,我们需要做一个简单的登录APP,输入相应的账号与密码便是弹出登录成功的对话 ...

  7. Java结合SpringBoot拦截器实现简单的登录认证模块

    Java结合SpringBoot拦截器实现简单的登录认证模块 之前在做项目时需要实现一个简单的登录认证的功能,就寻思着使用Spring Boot的拦截器来实现,在此记录一下我的整个实现过程,源码见文章 ...

  8. 【知了堂学习笔记】java web 简单的登录

    最近皮皮潇在学习java web,刚接触了简单的东西,所以今天给大家带来一个简单的登录实现. 页面: 页面代码: <%@ page language="java" conte ...

  9. JSP简单实现登录和注销

    JSP简单实现登录和注销 需求:用户登录成功后跳转到欢迎页面 用户登录失败跳转到初始的登录界面 用户点击注销,用户退出登录状态需要重新登录 登录页面的JSP代码: <%@ page langua ...

  10. 第107天:Ajax 实现简单的登录效果

    使用 Ajax 实现简单的登录效果 Ajax是一项使局部网页请求服务器信息,而不需整体刷新网页内容的异步更新技术.这使得向服务器请求的数据量大大减少,而且不会因局部的请求失败而影响到整体网页的加载. ...

随机推荐

  1. 愉快且方便的处理时间-- LocalDate

    java中做时间处理时一般会采用java.util.Date,但是相比于Date来说,还有更好的选择 -- java.time.LocalDate. 这是jdk8中新增的日期处理类,同时新增的还有ja ...

  2. thread join和detach的区别

    线程状态: 在一个线程的生存期内,可以在多种状态之间转换,不同的操作系统可以实现不同的线程模型,定义许多不同的线程状态,每个状态还可以包含多个子状态,但大体来说,如下几种状态是通用的: 1)就绪:参与 ...

  3. SQL语句(二)创建带主键和约束的数据表

    内容摘要 创建带主键和约束的表 创建带组合主键和外键的表 1. 创建带主键和约束的表 Student (学生表) CREATE TABLE Student ( sclass ) NOT NULL, - ...

  4. Python生成唯一id的方法

    1. uuid import uuid def create_uid(): return str(uuid.uuid1()) if __name__ == '__main__': print(type ...

  5. 第一节 简单的jsp实例

    1.打开Eclipse,依次点击“File” .“New” .“Other” ,选择生成动态Web项目. 2.输入项目名字,点击Finish 生成项目结构如下: 3.在WebContent目录上,单击 ...

  6. 【BZOJ2749】【HAOI2012】外星人[欧拉函数]

    外星人 Time Limit: 3 Sec  Memory Limit: 128 MB[Submit][Status][Discuss] Description Input   Output 输出te ...

  7. 前序遍历and中序遍历and后序遍历

    根据根节点的出现的时间确定前.中.后遍历. 1: 前序遍历首先访问根结点然后遍历左子树,最后遍历右子树.在遍历左.右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树. 前序遍历结果:ABDEC ...

  8. 【洛谷P1052【NOIP2005提高T2】】过河

    题目描述 在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧.在桥上有一些石子,青蛙很讨厌踩在这些石子上.由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数 ...

  9. CF1009E [Intercity Travelling]

    这道题先考虑一种暴力n方做法 设\(f_i\)表示到\(i\)点所有情况的困难度之和(\(f_0=0\)),\(pre_i=\sum_{j=1}^{i} a_j\) 考虑从点\(j\)中途不经过休息站 ...

  10. vscode 配置Git

    步骤: 下载Git客户端 配置环境变量 设置vscode与Git的关联 重启 步骤一: 该网址,下载即可. https://git-scm.com/downloads 步骤二: 计算机 > 属性 ...