开发环境 window2000+jbuilder7+tomcat4.1.12
首先,从http://jakarta.apache.org下载jakarta-struts-1.0.2.zip,解开后有两个主要目录lib和webapps,在lib目录中是使用struts创建应用程序所必需的文件,在webapps目录下有几个后缀是war的文件,熟悉java web开发的人都比较清楚,将他们copy到tomcat/ webapps/目录下,然后再重新启动tomcat,tomcat会将这些web工程部署好的,其中struts-documentation.war是文档,struts-example.war是一个不错的例子,我主要就是参考这个例子来做的。然后在jbuilder安装目录/lib/下建立 struts目录,将上面的lib目录下的东西copy进去,然后启动jbuilder7,运行菜单tools->configure->libraries->new->name 输入struts,然后选择刚才copy过去的struts.jar文件,然后ok。
其次,新建立一个工程,引用struts,服务器选择tomcat4,然后建立一个jsp1.jsp文件,然后把lib/目录下的所有.tld文件copy到你建立的工程目录下的/defaultroot/web-inf/目录下面,在/defaultroot/web-inf/建立action.xml,内容如下:
<action-mappings>
<forward name="logon" path="/logon.jsp"/>
<action path="/logon"
actionclass="example.logonaction"
formattribute="logonform"
formclass="example.logonform"
inputform="/logon.jsp">
<forward name="success" path="/jsp1.jsp"/>
</action>
</action-mappings>
struts-config.xml文件,如下:
<?xml version="1.0" encoding="iso-8859-1" ?>
<!doctype struts-config public
"-//apache software foundation//dtd struts configuration 1.0//en"
"http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd">
<struts-config>
<form-beans>
<form-bean name="logonform"type="example.logonform"/>
</form-beans>
<global-forwards>
<forward name="logon" path="/logon.jsp"/>
</global-forwards>
<action-mappings>
<action path="/logon"
type="example.logonaction"
name="logonform"
scope="request"
input="/logon.jsp">
<forward name="success" path="/jsp1.jsp"/>
</action>
<action path="/admin/addformbean"
type="org.apache.struts.actions.addformbeanaction"/>
<action path="/admin/addforward"
type="org.apache.struts.actions.addforwardaction"/>
<action path="/admin/addmapping"
type="org.apache.struts.actions.addmappingaction"/>
<action path="/admin/reload"
type="org.apache.struts.actions.reloadaction"/>
<action path="/admin/removeformbean"
type="org.apache.struts.actions.removeformbeanaction"/>
<action path="/admin/removeforward"
type="org.apache.struts.actions.removeforwardaction"/>
<action path="/admin/removemapping"
type="org.apache.struts.actions.removemappingaction"/>
</action-mappings>
</struts-config>
<%@ page language="java" %>
<%@ taglib uri="/web-inf/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/web-inf/struts-html.tld" prefix="html" %>
<html:html locale="true">
<head>
<title><bean:message key="logon.title"/></title>
<html:base/>
</head>
<body bgcolor="white">
<html:errors/>
<html:form action="/logon" focus="username">
<table border="0" width="100%">
<tr>
<th align="right">
<bean:message key="prompt.username"/>
</th>
<td align="left">
<html:text property="username" size="16" maxlength="16"/>
</td>
</tr>
<tr>
<th align="right">
<bean:message key="prompt.password"/>
</th>
<td align="left">
<html:password property="password" size="16" maxlength="16" redisplay="false"/>
</td>
</tr>
<tr>
<td align="right">
<html:submit property="submit" value="submit"/>
</td>
<td align="left">
<html:reset/>
</td>
</tr>
</table>
</html:form>
</body>
</html:html>
package example;
import org.apache.struts.action.actionform;
import javax.servlet.http.httpservletrequest;
import org.apache.struts.action.actionerror;
import org.apache.struts.action.actionerrors;
import org.apache.struts.action.actionform;
import org.apache.struts.action.actionmapping;
public class logonform extends actionform {
private string password = null;
private string username = null;
public string getpassword() {
return password;
}
public string getusername() {
return username;
}
public void setpassword(string password) {
this.password = password;
}
public void setusername(string username) {
this.username = username;
}
public void reset(actionmapping mapping, httpservletrequest request) {
this.password = null;
this.username = null;
}
public actionerrors validate(actionmapping mapping,
httpservletrequest request) {
actionerrors errors = new actionerrors();
if ((username == null) (username.length() < 1))
errors.add("username", new actionerror("error.username.required"));
if ((password == null) (password.length() < 1))
errors.add("password", new actionerror("error.password.required"));
return errors;
}
}
package example;
import java.io.ioexception;
import java.util.hashtable;
import java.util.locale;
import javax.servlet.requestdispatcher;
import javax.servlet.servletexception;
import javax.servlet.http.httpservletrequest;
import javax.servlet.http.httpsession;
import javax.servlet.http.httpservletresponse;
import org.apache.struts.action.action;
import org.apache.struts.action.actionerror;
import org.apache.struts.action.actionerrors;
import org.apache.struts.action.actionform;
import org.apache.struts.action.actionforward;
import org.apache.struts.action.actionmapping;
import org.apache.struts.action.actionservlet;
import org.apache.struts.util.messageresources;
public class logonaction extends action {
public actionforward perform(actionmapping mapping,
actionform form,
httpservletrequest request,
httpservletresponse response)
throws ioexception, servletexception {
locale locale = getlocale(request);
//messageresources messages = getresources();
actionerrors errors = new actionerrors();
string username = ((logonform) form).getusername();
string password = ((logonform) form).getpassword();
// report any errors we have discovered back to the original form
if (!errors.empty()) {
saveerrors(request, errors);
return (new actionforward(mapping.getinput()));
}
// save our logged-in user in the session
httpsession session = request.getsession();
session.setattribute("user", "ok");
if (servlet.getdebug() >= 1)
servlet.log("logonaction: user :" +
"' logged on in session " + session.getid());
// remove the obsolete form bean
if (mapping.getattribute() != null) {
if ("request".equals(mapping.getscope()))
request.removeattribute(mapping.getattribute());
else
session.removeattribute(mapping.getattribute());
}
// forward control to the specified success uri
return (mapping.findforward("success"));
}
}
<?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>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.actionservlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>config</param-name>
<param-value>/web-inf/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>application</param-name>
<param-value>example.applicationresources</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>validate</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet>
<servlet-name>debugjsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.jspservlet</servlet-class>
<init-param>
<param-name>jspcompilerplugin</param-name>
<param-value>com.borland.jbuilder.webserverglue.tomcat.jsp.jaspersunjavacompiler</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>debugjsp</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>logon.jsp</welcome-file>
</welcome-file-list>
<taglib>
<taglib-uri>/web-inf/app.tld</taglib-uri>
<taglib-location>/web-inf/app.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/web-inf/struts-bean.tld</taglib-uri>
<taglib-location>/web-inf/struts-bean.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/web-inf/struts-html.tld</taglib-uri>
<taglib-location>/web-inf/struts-html.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/web-inf/struts-logic.tld</taglib-uri>
<taglib-location>/web-inf/struts-logic.tld</taglib-location>
</taglib>
</web-app>
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器