J2EE基础教程(4):struts框架(视频笔记)

摘自尚硅谷的视频教程struts的代码实现。

原本MVC中的C是由servelet实现的。而Struts2使用的是Filter来冲当控制器
模型 POJO(普通Java类,如DAO(数据访问对象))
视图 jsp
控制器 filter

请求被发送到filterDispacher

首先,利用myeclipse自带的功能配置好Struts框架
首先我们来看看放在src目录下的struts.xml,里面什么都没有

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>

</struts>    

将其修改为如下代码,其中,注意namespace是你的工程名字

<?xml version="1.0" encoding="UTF-8" ?>  
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">  
<struts>  
    <!-- Struts 2 的Action必须放在包空间下 -->  
    <package name="strutsqs" extends="struts-default"   namespace="/HelloWorld2">  
        <!-- 定义action的名字以及action的实现类 -->  
        <action name="LoginAciton" class="com.gjy.struts2.loginAction.LoginAction">  
            <!-- 定义action的处理结果result,result有两个属性,其中name指定返回名称,tyle指定返回的类型 -->  
            <!-- 处理Login错误时返回/error.jsp -->  
                        <result name="error">/error.jsp</result>  
            <!-- 处理Lognin正确时/suc.jsp -->  
                    <result name="suc">/suc.jsp</result>  
        </action>  
    </package>      
</struts>   

然后新建若干最普通的java代码

package com.gjy.struts2.entity;

public class Book {
    private static Object book[]=new Object[4];

    public Book(){
        book[0] = "《java编程思想》";
        book[1] = "《Struts2权威指南》";
        book[2] = "《精通Oracle》";
        book[3] = "《我的Flex我精通》";
    }

    public Object[] getBook(){
        return book;
    }
}
package com.gjy.struts2.interfaceAction;

public interface Action {
    public static String SUCCESS="suc";
    public static String ERROR="error";

    public String execute()throws Exception;
}

package com.gjy.struts2.loginAction;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import com.gjy.struts2.entity.Book;
import com.gjy.struts2.interfaceAction.Action;
import com.opensymphony.xwork2.ActionContext;

public class LoginAction implements Action {

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


    //处理用护请求的execute方法
    public String execute() throws Exception
    {

    if (getUserName().equals("gongjiayun")
    && getPassWord().equals("hehe") )
    {
        //通过ActionContext访问Web对象的Session对象,此处的ActionContext返回的是一个Map
        //虽然struts2的action中没有HttpSession对象,但我们也可以通过通过ActionContext访问Web对象的Session对象
        Map sessionMap = ActionContext.getContext().getSession();
        sessionMap.put("user" , getUserName());
        Book book = new Book();
        Object books[]= book.getBook();
        List<Object[]> bookList = new ArrayList<Object[]>();
        bookList.add(books);
        sessionMap.put("book", bookList);
        return SUCCESS;
    }
    else
    {
        return ERROR;
    }
    }
}

在程序部署到服务器前一定要对代码进行编译。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值