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()方法。
时间: 2024-08-05 02:33:17

Struts2的搭建原理的相关文章

菜鸟学Struts2——Struts工作原理

在完成Struts2的HelloWorld后,对Struts2的工作原理进行学习.Struts2框架可以按照模块来划分为Servlet Filters,Struts核心模块,拦截器和用户实现部分,其中需要用户实现的部分只有三个,那就是struts.xml,Action,Template(JSP),如下图: 2.3.31中的org.apache.struts2.dispatcher.ActionContextCleanUp已经被标记为@Deprecated Since Struts 2.1.3,2

struts2框架搭建

struts2 框架搭建 1 拷贝核心的jar 包 2 编写struts2 的配置文件 <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&

Struts2拦截器原理以及实例

Struts2拦截器原理以及实例 一.Struts2拦截器定义 1. Struts2拦截器是在访问某个Action或Action的某个方法,字段之前或之后实施拦截,并且Struts2拦截器是可插拔的,拦截器是AOP的一种实现. 2. 拦截器栈(Interceptor Stack).Struts2拦截器栈就是将拦截器按一定的顺序联结成一条链.在访问被拦截的方法或字段时,Struts2拦截器链中的拦截器就会按其之前定义的顺序被调用. 二.实现Struts2拦截器原理 Struts 2的拦截器实现相对

struts2的工作原理与文件结构

struts2框架的工作原理: Struts2的文件详解: 1. web.xml 过滤器遇到.action后缀的请求就会拦截处理,当遇到.jsp .html等就会放行. 2. struts.xml <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd&qu

1 . Struts2环境搭建

这几天突然听领导说要做SSH框架的项目,以前都是用.net mvc的, 有点捉鸡,好消息是会有一段的学习时间,为了速成,只能从Struts2看起,只求能最快着手做项目. 环境:IDE  :Eclipse Java EE IDE for Web Developers.   已经安装了Tomcat7插件. Struts版本:2.3.24.1 最基本的Structs2 需要的包有: : 最开始包里并没有引用 commons-lang3-3.1.jar这个包,只用了struts-2.3.24.1 里面解

Struts2漏洞利用原理及OGNL机制

Struts2漏洞利用原理及OGNL机制研究   概述 在MVC开发框架中,数据会在MVC各个模块中进行流转.而这种流转,也就会面临一些困境,就是由于数据在不同MVC层次中表现出不同的形式和状态而造成的: View层-表现为字符串展示 数据在页面上是一个扁平的.不带数据类型的字符串,无论数据结构有多复杂,数据类型有多丰富,到了展示的时候,全都一视同仁的成为字符串在页面上展现出来.数据在传递时,任何数据都都被当作字符串或字符串数组来进行. Controller层-表现为java对象 在控制层,数据

Struts2 的工作原理

Struts2 的工作原理: 1,把Action请求发送给 StrutsPrepareAndExecuteFilter StrutsPrepareAndExecuteFilter.doFilter() --> ExecuteOperations.executeAction() --> Dispatcher.serviceAction() --> 2,StrutsPrepareAndExecuteFilter把请求的处理交给 ActionProxy ActionProxy.execute(

Struts2框架搭建及实例

Struts2概述 Struts2其实并不是一个陌生的Web框架,Struts2是以Webwork的设计思想为核心,吸收了Struts1的优点,因此,可以认为Struts2是Struts1和 Webwork结合的产物. Struts2是一个兼容Struts1和WebWork的MVC框架.Struts2框架是一个轻量级的MVC流程框架,轻量级是指程序的代码不是 很多,运行时占用的资源不是很多,MVC流程框架就是说它是支持分层开发,控制数据的流程. 框架搭建 (1)首先下载Struts2的包 下载地

Struts2的运行原理和运行与原理

Struts2 struts2的流程图 运行机制 1.客户端发送请求.通过ActionContextCleanUp调用FilterDispatcher(struts) 2.FilterDispatcher通过ActionMapper来决定这个Request需要调用哪个Action 3.如果ActionMapper决定调用某个Action,FilterDispatcher把请求的处理交给ActionProxy 4.ActionProxy根据ActionMapping和ConfigurationMa