Struts2的搭建原理

Posted rongyux

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Struts2的搭建原理相关的知识,希望对你有一定的参考价值。

记录下,struts2的搭建过程:

1核心jar包:
 struts-2.1.8\apps\struts2-blank-2.1.8.war 解压后 在struts2-blank-2.1.8\WEB-INF\lib下就是


2配置文件白板
 web.xml在    struts2-blank-2.1.8\WEB-INF\web.xml
 struts.xml在    struts2-blank-2.1.8\WEB-INF\classes\struts.xml

 

3 struts.xml配置文件

<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
    
    
    
     <package name="default" namespace="/" extends="struts-default">
    
    </package>
    
     <package name="user" namespace="/user" extends="struts-default">

        <action name="*_*" class="action.{1}Action" method="{2}">
            <result name="login_success">/user/login_success.jsp</result>
            <result name="login_failure">/user/login.jsp</result>
            <result name="logout_success">/user/logout.jsp</result>
        </action>        
    
    </package>    
    
    
</struts>

4 action.UserAction.java控制文件

package action;

import org.apache.struts2.interceptor.validation.SkipValidation;

import service.UserDAO;
import servie.impl.UserDAOImpl;

import com.opensymphony.xwork2.ModelDriven;

import entity.User;

public class UserAction extends SuperAction implements ModelDriven<User>{
    private User user = new User();
    private static final long serialVersionUID = 1L;
    
    
    public String login(){//用户登录动作
        UserDAO uDao = new UserDAOImpl();
        if (uDao.userLogin(user)) {
            
            //在session中保存登陆成功后的信息
            session.setAttribute("loginUserName", user.getUsername());
            
            return "login_success";
        }else {
            return "login_failure";
        }
    }
    
    //注销用户
    public String logout()
    {
        if (session.getAttribute("loginUserName") != null) {
            session.removeAttribute("loginUserName");
        }
        return "logout_success";
    }
    
    public User getModel(){
        //ModelDriven就必须实现getModel这个方法,
        //该方法返回的是你的ModelDrivern泛型中设定的实体类
        return this.user;
    }


    
}

 

5 访问注意命名空间,namespace="/user",表单的访问登陆控制页面的路径为

<form action="<%=path %>/user/User_login.action" method="post">

 

6 index.jsp跳转页面语句是

 

<%
    response.sendRedirect(request.getContextPath() + "/user/User_login.action");
%>
/user是命名空间,.action结尾的为被strut.xml配置文件拦截,跳转到UserAction控制文件的login()方法。

 

以上是关于Struts2的搭建原理的主要内容,如果未能解决你的问题,请参考以下文章

[原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等(代码片段

Struts2概述开发环境搭建

struts2 框架 的环境搭建 与配置

Struts2框架详解

SSH(Struts2+Spring+Hibernate)框架搭建流程

1Struts2的简单搭建方法