Struts简单使用:用户登录

(1)建立一个web 工程名为:strutsDemo,功能模拟用户登录。在工程名上点击右键,选择弹出菜
单“MyEclipse”->“Project Facets [Capabilites]”-> “Install Apache Struts(2.x) Facet”添加对Struts 的支持
(如图1)。在弹出的对话框中(图2)选择合适的“Target Runtime”(Web 服务器),点击“next”打开Struts
的控制配置(图3),选择:URL pattern 为:/*
然后点击“Finish”按钮,完成struts2 支持的添加。

                                                                                               图 1

 

                                                                                                 图 2

                                                                                                 图 3

(2)编写视图文件

login.jsp——登陆页面,表单代码如下:

  <body>
    <form action="loginAction" method="post"> 
    用户名:<input name="uname"><br /> 
    口令:<input name="upasswd" type="password"><br /> 
    <input type="submit" value="登录"> 
    </form>
  </body>

success.jsp——登陆成功页面,正文区内容:

  <body>
    欢迎${uname},你已成功登录系统。
  </body>

error.jsp——登陆失败页面,正文区内容:

  <body>
    用户名或密码有误,请<a href="login.jsp">重新登录</a>
  </body>

(3)编写Action

创建一个普通 Java 类——LoginAction.java,所在包:actions,内容如下:

package actions; 
import com.opensymphony.xwork2.Action; 
public class LoginAction { 
	private String uname;//对应用登录表单的 uname 文本域 
	private String upasswd;//对应用登录表单的 upasswd 密码域
/**
 * Struts 控制器默认调用 Action 的方法 
 * @return 字符串,根据此值在配置文件中定义相应的视图 
 */ 
public String execute(){ 
	if("john".equals(uname)&&"123456".equals(upasswd)){ 
		return Action.SUCCESS; //返回 Action 预定义的常量,值为 “success”
		}else{ 
			return "fail";//返回自定义值,表示登录失败 
		} 
	}
public void setUname(String uname) { 
	this.uname = uname; 
	}
public String getUname() { 
	return uname; 
	}
public void setUpasswd(String upasswd) { 
	this.upasswd = upasswd; 
	}
public String getUpasswd() { 
	return upasswd;  
  	}	
}

(4)编辑 struts.xml 配置 Action,在<struts></struts>直接添加如下配置:

<package name="demo" extends="struts-default" namespace="/"> 
    <action name="loginAction" class="actions.LoginAction">
        <result>/success.jsp</result> 
        <result name="fail">/error.jsp</result> 
    </action> 
</package>

(5)部署后访问,查看结果。

整体结构如下:

运行效果:

如果想学习基于注解的Action,请点击链接:

https://blog.csdn.net/weixin_43042683/article/details/103182493

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,我可以为您提供一个简单的示例,演示如何使用 Struts2 和 Hibernate 框架技术创建登录界面。 首先,您需要创建一个名为“login.jsp”的 JSP 页面,该页面将显示登录表单。在此页面,您将需要使用 Struts2 标记库创建表单元素,例如文本框、密码框和提交按钮。示例代码如下: ``` <%@ taglib prefix="s" uri="/struts-tags" %> <html> <head> <title>Login Page</title> </head> <body> <h2>Login Form</h2> <s:form action="loginAction"> <s:textfield name="username" label="Username" /> <s:password name="password" label="Password" /> <s:submit value="Login" /> </s:form> </body> </html> ``` 接下来,您需要创建一个名为“LoginAction.java”的 Struts2 操作,该将处理提交的表单数据并验证用户凭据。在此,您将需要使用 Hibernate 框架技术从数据库检索用户信息。示例代码如下: ``` import com.opensymphony.xwork2.ActionSupport; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; import org.hibernate.query.Query; public class LoginAction extends ActionSupport { private String username; private String password; public String execute() { // Create session factory SessionFactory factory = new Configuration() .configure("hibernate.cfg.xml") .buildSessionFactory(); // Create session Session session = factory.getCurrentSession(); try { // Begin transaction session.beginTransaction(); // Query for user with matching username and password Query<User> query = session.createQuery("from User where username=:u and password=:p", User.class); query.setParameter("u", username); query.setParameter("p", password); User user = query.uniqueResult(); // Commit transaction session.getTransaction().commit(); // Check if user was found if (user != null) { return SUCCESS; } else { return LOGIN; } } catch (Exception e) { e.printStackTrace(); return ERROR; } finally { factory.close(); } } // Getter and setter methods } ``` 在上面的代码,我们使用 Hibernate 的相关从数据库检索具有匹配用户名和密码的用户。如果找到了用户,则返回 Struts2 成功结果代码,否则返回登录结果代码。 最后,您需要在 Struts2 配置文件定义操作和结果。在此示例,我们将在“struts.xml”文件创建以下条目: ``` <action name="loginAction" class="LoginAction"> <result name="success">welcome.jsp</result> <result name="login">login.jsp</result> <result name="error">error.jsp</result> </action> ``` 在上面的代码,我们定义了一个名为“loginAction”的操作,该操作调用LoginAction的“execute”方法。我们还定义了三个结果,分别为“success”、“login”和“error”。如果用户成功登录,则返回“welcome.jsp”页面,否则返回“login.jsp”页面。 这就是使用 Struts2 和 Hibernate 框架技术创建登录界面的基本过程。希望这可以帮助您入门!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

行秋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值