Struts2 in Action 学习笔记1

本文详细介绍了如何使用Struts2框架实现一个简单的登录系统,包括下载必要的jar包、配置部署、建立登录页面、创建响应类及action配置等步骤。

Author:White.Huang

1 struts2准备

1.1 struts2需要的jar包下载

struts的官方网站下载最新的struts2工具压缩包struts-2.1.8.1-all.zip,解压后在其lib目录下复制以下基本jar包到自己的项目中:

            commons-fileupload-1.2.1.jar

            commons-io-1.3.2.jar          使用文件上传时加入该jar包,如不使用可不加

            commons-logging-1.0.4.jar

            freemarker-2.3.15.jar

            ognl-2.7.3.jar

            struts2-core-2.1.8.1.jar

            xwork-core-2.1.6.jar

1.2 struts2 配置部署启动

       第一步:

web项目的web.xml文件中写入以下配置文件内容,配置struts2过滤器

<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>

      第二步:

      建立登录页面login.jsp

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

<%@taglib prefix="s" uri="/struts-tags"%>

<html>

    <head>  

       <title>struts2提交页面</title>

    </head>

    <body>

       <s:form action="loginAction" method="post">

           <s:textfield name="userName" label="用户名" tooltip="请输入用户名"/><br />

           <s:password name="password" label="密码" tooltip="请输入密码" /><br />

           <s:submit value="提交" />

       </s:form>

    </body>

</html>

    以上使用的是struts2标签,action="loginAction" 是要去到的action动作

      第三步:

      建立接受请求的action动作类,其实就是一个普通类,类名自定义,最好和请求页面有

一定字面联系,该类什么都不需要继承和实现

      建立LoginAction

package com.monitor.web;

public class LoginAction {

    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;

    }

    //该处理方法名和返回值必须这么写

    public String execute(){

       //action的响应执行方法

       return null;

    }

}

以上类中定义的属性和login.jsp表单中的属性名一致,对就是这样,只要响应类中的属性和表单属性名相同并有gettersetter方法,就可以接收表单数据,接收到的数据可以通过getter方法获得并在execute方法中执行并跳转到其他页面,那么怎么样就把表单请求的action和这个普通类绑定在一起了呢?通过struts.xml配置文件

第四步

配置action与处理类的映射文件struts.xml,并将该文件放在src目录下

<?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>

    <package name="com.monitor.web" extends="struts-default">

        <action name="loginAction" class="com.monitor.web.LoginAction">

            <result name="success">/right.jsp</result>

            <result name="error">/error.jsp</result>

        </action>

    </package>

</struts>

    package中的name是所有action存放的包名,你自己的action在什么包中就写什么包

名,extends中是默认值,不用改

action就是绑定响应地址和其响应类的地方,name中就是formaction内容

result是执行后的转发结果页面,name就是在execute中的返回值

以下是execute执行并验证用户名密码后转发,页面迁移默认是以请求转发的方式

public String execute(){

  if(getUserName().equals("hjt")&&getPassword().equals("123456")){

     return "success";

  }else{

     return "error";

  }

}

  至此一个简单的struts2登录转发示例完成

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值