步入struts2大门(用户登录)

 

最近在学struts2框架,其实好多技术并不难,之所以觉得它难就是,只是一直徘徊在外围而找不到打开它的入口。找开的入口后面学起来就很顺了,本文用最详细的步骤,最傻瓜方式为你打开这个入口。只要你少有java基础,那就可以跟我一起来做吧!

准备三样东西:

MyEclipse 8.5

tomcat 6.0

struts2.0.14 我这个版本较早,你可以用最新版本,可能会存在些差异,具体的说明。

=============================================================

整体项目目录结构如下:

================================================================

配置三步骤:

再MyEclipse 中创建一个web项目,new----web project----命名为struts2

 

第一步:导入相关包

再下载好struts2下载的目录下面,找到一下几个jar包,因为struts2下的\lib下面会有很多jar包,我们暂时只需要几个常用的就够了。

struts2-core-2.1.6.jar

freemarker-2.3.13.jar

commons-logging-1.0.4.jar

ognl-2.6.11.jar

xwork-2.1.2.jar

commons-fileupload-1.2.1.jar

如何导入包,我用最简便的方式,将上面几个文件复制,找到我们创建的项目struts2--webRoot---lib文件夹,右击---Paste(粘贴ctrl+v)就OK了。

 

第二步,导配web.xml文件

下面来配置我们的web.xml文件。展开我们的项目就会看到这个文件。WebRoot/lib/web.xml

注意不同的struts版本略有不同,本配置是struts2.0.14版本下的配置。

<?xml version="1.0" encoding="UTF-8" ?>
<web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation
="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>Struts Blank</display-name>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>

如果你下载的struts包是完整的,里面会带有实例。请参考实例中web.xml文件配置。

 

第三步:创建struts.xml文件

在src文件夹下面创建strutx.xml文件。

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts PUBLIC

"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"

"http://struts.apache.org/dtds/struts-2.0.dtd"
>

<struts>

稍后在此处添加内容

</struts>


第一步
,文件Login.jsp配置已经完成,下面开始我们登录功能的编写。

要文件夹webRoot创建一个login.jsp编写用户登录前台页面。

<%@ taglib prefix="s" uri="/struts-tags" %><!—- 由于下面的内容是用strurs2标签编写,所以这里要引入struts2标签库-- >
</body>
<s:form action="login">
<s:textfield name="username" label="username"></s:textfield>
<s:password name="password" label="password"></s:password>

<s:submit label="submit"></s:submit>

</s:form>
</body>
 


第二步,编写LoginAction.java程序 

在src文件夹下创建一个包:com.test.action

在包下面创建LoginAction.java文件,内容如下:

package com.test.action;
import com.opensymphony.xwork2.ActionSupport;
//首先这个类继承 ActionSupport类
public class LoginAction extends ActionSupport {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}

//此处验证用户必须等hello 密码登录word才会返回成功页面。当然,真实开发中肯定不会这样写,这里只是做一个模拟。
public String execute() throws Exception
{
if("hello".equals(this.getUsername().trim()) && "word".equals(this.getPassword().trim()))
{
return "success";
}
else
{
this.addFieldError("username", "usernmae or password error");
return "failer";
}

}

//下面内容判断用户名不能为空
@Override
public void validate()
{
if(null == this.getUsername() || "".equals(this.getUsername().trim()))
{
this.addFieldError("username", "username error");
}

if(null == this.getPassword() || "".equals(this.getPassword().trim()))
{
this.addFieldError("password", "username error");
}
}

}

 

 

第三步,登录成功的页面success.jsp

在WebRoot创建一个success.jsp页面,如果用户登录成功,将跳转到这个页面。

<body>
Success!!
</body>


第四步,下面配置我的struts2.xml文件 

在<struts>..</struts>之间插入如下配置:

<package name="struts2" extends="struts-default" namespace="/">
<action name="login" class="com.test.action.LoginAction">
<result name="success">/result.jsp</result>
<result name="failer">/login.jsp</result>
</action>
</package>

==================================================

 

上面的过程操作完成了,下面配置我们tomcat

菜单栏windows---->Preferences---->搜索tomcat

点击 Browse...按钮,找到我们tomcat的目录,然后点击 OK 按钮

再myeclipse窗口的下面,点击Servers标签,来启动tomcat 6

注意:这里我们也许会建立多个项目,如何让tomcat 来识别我们需要启动的项目呢。

右键点击tomcat选择add deployment

再打开的对话框中,选择我们需要启动的项目名(struts2)

好吧!我们现在启动tomcat ,打开浏览器输入:http://localhost:8080/Struts2/login.jsp

如果没有错误的话,页面会显示如下:

 

处理流程分析:

下面我们来说一下程序的处理流程。

 

 

 

1.在用户登录有页面(login.jsp)后,通过form表单的action属性,去找配置文件(struts.xml)对应的action属性,Form表单的action=”login”与action的name=”login”必须相同。

2. 然后同过action的class=”com.test.action.LoginAction”找到LoginAction.java程序。

3. LoginAction.java处理完成后,将返回success 和failer两个结果给struts.xml文件。

4.Struts.xml根据<result></result>中的配置,如果结果是success将跳转到result.jsp页面,如果是failer则跳转login.jsp页面。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

fnngj

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

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

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

打赏作者

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

抵扣说明:

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

余额充值