最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Studs MVC Framework-----PHP的Struts1.X实现
时间:2008-04-24 编辑:简简单单 来源:一聚教程网
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:
<%...
-
上一个: WAMP环境配置说明--php服务器
-
下一个: PHP中自增自减运算
相关文章
- PHP MVC框架模式实现原理分析 05-11
- php中如何制定轻量级的MVC标准 12-15
- PHP MVC框架之错误捕捉入门教程 07-13
- php中的MVC模式运用 02-26
- MVC with PHP(二) 01-12
- PHP.MVC的模板标签系统之标签行为调度 01-11