zoukankan      html  css  js  c++  java
  • Struts2:搭建原理

    记录下,struts2的搭建过程:

    1核心jar包:
     struts-2.1.8appsstruts2-blank-2.1.8.war 解压后 在struts2-blank-2.1.8WEB-INFlib下就是


    2配置文件白板
     web.xml在    struts2-blank-2.1.8WEB-INFweb.xml
     struts.xml在    struts2-blank-2.1.8WEB-INFclassesstruts.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()方法。
  • 相关阅读:
    python(7)-pycharm mac和windows专业版安装破解
    Navicat Premium15激活 安装与激活(转载) 有效!!
    PHP 冒泡排序
    PHP 插入排序 -- 希尔排序
    PHP 插入排序 -- 折半查找
    PHP 插入排序 -- 直接插入排序
    PHP 哈夫曼的实现
    PHP call_user_func的一些用法和注意点
    PHP 组件注册的例子
    PHP 奇葩的debug_zval_dump的输出
  • 原文地址:https://www.cnblogs.com/rongyux/p/5351125.html
Copyright © 2011-2022 走看看