Studs MVC Framework-----PHP的Struts1.X实现

WBOY
リリース: 2016-06-08 17:31:27
オリジナル
1112 人が閲覧しました
<script>ec(2);</script>

Jakarta Struts结构移植过来的PHP开发框架,使用面向对象的开发结构和API,模拟了一个HTTP Servlet容器和使用了PHP服务页面引擎技术。

下载地址:http://mojavelinux.com/projects/studs/

文件结构如下:

如上图,WEB-INF中的文件都是Studs框架的核心文件(尤其是lib和tld下的文件),其中:

1.messages.properties文件:



welcome.title=Studs :: Welcome
welcome.heading
=Welcome to Studs!
welcome.message
=The application has been successfully installed!

pageviews.message
=This page has been viewed {0} times.

2.struts-config.xml文件:



xml version="1.0" encoding="ISO-8859-1"?>
DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
    "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd"
>

struts-config>

    


    
form-beans>
        

    
form-beans>

    
global-exceptions>
        

    
global-exceptions>

    
global-forwards>
        

        
forward name="welcome" path="/welcome.do"/>
    
global-forwards>

    
action-mappings>
        

        
action path="/welcome" forward="/pages/welcome.psp"/>
        
action path="/example" forward="/pages/example.psp"/>

        

    
action-mappings>

    
controller locale="false" inputForward="true"/>

    
message-resources parameter="/WEB-INF/messages.properties"/>

struts-config>

3.web.xml文件:



xml version="1.0" encoding="UTF-8"?>
DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
web-app>

    
display-name>Studs Basic Applicationdisplay-name>
    
description>A bare-bones foundation for creating a web application based on the Studs MVC Framework+description>
    
context-param>
        

        
param-name>controlAllResourcesparam-name>
        
param-value>falseparam-value>
    
context-param>

    

    
servlet>
        
servlet-name>defaultservlet-name>
        
servlet-class>stratus.servlets.DefaultServletservlet-class>
        
init-param>
            
param-name>listingsparam-name>
            
param-value>trueparam-value>
        
init-param>
        
load-on-startup>1load-on-startup>
    
servlet>
    
servlet>
        
servlet-name>phaseservlet-name>
        
servlet-class>phase.servlet.PhaseServletservlet-class>
        
init-param>
            
param-name>scratchdirparam-name>
            
param-value>/WEB-INF/workparam-value>
        
init-param>
        
init-param>
            
param-name>tldresourcedirparam-name>
            
param-value>/WEB-INF/tldparam-value>
        
init-param>
        
init-param>
            
param-name>ignoreELparam-name>
            
param-value>falseparam-value>
        
init-param>
        
load-on-startup>2load-on-startup>
    
servlet>
    
servlet>
        
servlet-name>actionservlet-name>
        
servlet-class>studs.action.ActionServletservlet-class>
        
init-param>
            
param-name>configparam-name>
            
param-value>/WEB-INF/struts-config.xmlparam-value>
        
init-param>
        
init-param>
            
param-name>validatingparam-name>
            
param-value>trueparam-value>
        
init-param>
        
load-on-startup>3load-on-startup>
    
servlet>

    

    
servlet-mapping>
        
servlet-name>defaultservlet-name>
        
url-pattern>/url-pattern>
    
servlet-mapping>
    
servlet-mapping>
        
servlet-name>phaseservlet-name>
        
url-pattern>*.pspurl-pattern>
    
servlet-mapping>
    
servlet-mapping>
        
servlet-name>actionservlet-name>
        
url-pattern>*.dourl-pattern>
    
servlet-mapping>

    

    
mime-mapping>
        
extension>htmlextension>
        
mime-type>text/htmlmime-type>
    
mime-mapping>
    
mime-mapping>
        
extension>cssextension>
        
mime-type>text/cssmime-type>
    
mime-mapping>
    
mime-mapping>
        
extension>jsextension>
        
mime-type>text/javascriptmime-type>
    
mime-mapping>
    
mime-mapping>
        
extension>pngextension>
        
mime-type>image/pngmime-type>
    
mime-mapping>
    
mime-mapping>
        
extension>jpgextension>
        
mime-type>image/jpegmime-type>
    
mime-mapping>
    
mime-mapping>
        
extension>jpegextension>
        
mime-type>image/jpegmime-type>
    
mime-mapping>
    
mime-mapping>
        
extension>gifextension>
        
mime-type>image/gifmime-type>
    
mime-mapping>

    

    
welcome-file-list>
        
welcome-file>index.pspwelcome-file>
    
welcome-file-list>

web-app>

4.文件build.xml:



xml version="1.0"?>
project name="Studs Basic" basedir="../.." default="package">
    
property file="../../build.properties" />

    
target name="package" depends="prepare">
        
mkdir dir="../../${release.dir}/${project.release.version}"/>
        
tar destfile="../../${release.dir}/${project.release.version}/studs-basic-${project.release.version}.tar.gz" compression="gzip">
            
tarfileset dir="." prefix="studs-basic" defaultexcludes="yes">
                
exclude name="classes/build.xml"/>
                
exclude name="**/TODO"/>
                
exclude name="**/NOTES"/>
            
tarfileset>
        
tar>
    
target>

    
target name="clean">
        

        
symlink action="delete" link="${basedir}/WEB-INF/lib" failonerror="no"/>
        
symlink action="delete" link="${basedir}/WEB-INF/tld" failonerror="no"/>

        
delete includeemptydirs="yes" failonerror="no">
            
fileset dir="WEB-INF/work">
                
include name="**"/>
            
fileset>
            
fileset dir="WEB-INF/lib">
                
include name="**"/>
            
fileset>
            
fileset dir="WEB-INF/tld">
                
include name="**"/>
            
fileset>
        
delete>
    
target>

    
target name="prepare" depends="clean">
        

        
mkdir dir="WEB-INF/work"/>
        
chmod dir="WEB-INF/work" perm="0777" type="dir"/>
        

        
mkdir dir="WEB-INF/lib"/>
        
copy todir="WEB-INF/lib">
            
fileset dir="../../src">
                
include name="**"/>
            
fileset>
        
copy>
        

        
mkdir dir="WEB-INF/tld"/>
        
copy todir="WEB-INF/tld">
            
fileset dir="../../conf/tld">
                
include name="*.tld"/>
            
fileset>
        
copy>
        

        
copy todir=".">
            
fileset dir="../../conf">
                
include name="index.php"/>
                
include name=".htaccess"/>
            
fileset>
        
copy>
    
target>
project>

5.logging.properties文件:



== Setup log appenders ==
#logging.rootLogger
=DEBUG, file
#logging.appender.file
=horizon.util.logging.FileLogAppender
#logging.appender.file.file
=/tmp/studs-basic.log
== Specific logging per category ==
#logging.logger.
[partial package or classname]=DEBUG

其他文件基本上都可以在框架源代码中找到。

页面文件如下:

1.index.php:



php
error_reporting(E_ALL);
ini_set(''include_path'', ''WEB-INF/lib'' . (DIRECTORY_SEPARATOR == ''/'' ? '':'' : '';''. ''WEB-INF/classes'');
umask(0002);

require_once ''horizon/init.php'';

import(
''stratus.connector.HttpProcessor'');
import(
''stratus.config.ContextConfig'');

$config = & new ContextConfig(dirname(__FILE__));
$processor = & new HttpProcessor($config->getContext());
$processor->run();
?>

2.index.psp:



関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート