Struts示例分析

转载 2006年05月25日 13:47:00

【转载】

首先你要对你的环境进行配置

配置TomCat环境
1、到我的机器(IP为192.1.168.7,用户为Guest,口令没有)上的"共享"目录中,拷贝j2sdk-1_4_2_02-windows-i586-p.exe、jakarta-tomcat-5.0.14.zip、jakarta-struts-1.1.zip三个压包文件。
2、先双击j2sdk-1_4_2_02-windows-i586-p.exe安装jdk,最好安装到一个根目录下。在此假设安装在D:/j2sdk1.4.2_02下。
3、安装TOMCAT。TOMCAT不用安装,只用直接解压jakarta-tomcat-5.0.14.zip到硬盘上。假设解压到D:/TOMCAT下。
4、配置环境变量。右键点击"我的电脑"图标,选择"高级"子项,点击"环境变量"按扭。在"系统变量"中新建如下几个环境变量:
名称 键值 说明
JAVA_HOME D:/j2sdk1.4.2_02 就是你的JDK的安装目录
CLASSPATH .;%JAVA_HOME%/LIB
5、解压jakarta-struts-1.1.zip到任一目录,将其中/jakarta-struts-1.1/webapp目录下的struts-example.war文件拷贝到TOMCAT下的/tomcat/webapps中
6、进入/tomcat/bin目录,点击startup.bat以启动TomCat。(TomCat启动后点击shutdown.bat可关闭)
7、让TomCat在后台运行,打开ie,在地址栏中输入http://localhost:8080/可进入TomCat的主页,输入http://localhost:8080/struts-example可进入struts的一个例子。

祝大家安装顺利 :)

然后,我们来看一下STRUTS例子中的最重要的两个文件,这两个都是配置文件,

struts-config.xml(具体配置的情况我作了注释)

<?xml version="1.0" encoding="ISO-8859-1" ?>

<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd";>

<!--
This is the Struts configuration file for the example application,
using the proposed new syntax.
-->


<struts-config>

<!-- ========== Form Bean Definitions =================================== -->
<!-- FormBean是struts的一个概念,本质是JavaBean,用来自动存储页面表单中各个域的值,并在适当的时候回填表单域,不需要象传统那样request.getParameter("fieldName");,常被action-mappings中的action 使用 -->
<form-beans>
<!-- 稍后我们会新增一个GetparameterForm类,用来存储用户信息 -->
<form-bean name="GetParameterForm" type="beans.GetParameterForm"/>
</form-beans>

<!-- ========== Global Forward Definitions ============================== -->
<!--这里存放整个系统都可以使用的全局转向中转(Forward)地址 -->
<!-- 一般情况下,一个Action处理完毕后,会转发到一个JSP页面进行显示。这也是JSP中的MVC的实现的要点。-->
<global-forwards>
<!--failed.do和success.do将被当成servlet请求,到action-mappings中寻找对应的action处理。-->
<forward name="success" path="/success.do"/>
<forward name="fail" path="/fail.do"/>
</global-forwards>

<!-- ========== Action Mapping Definitions ============================== -->
<!--web.xml中后缀为.do的请求被转到这里处理。这里相当于struts的Model部分,Model部分是struts中比较灵活的地方。-->
<action-mappings>
<!--处理showinput.do的请求,使用的FormBean是GetparameterForm,既beans.GetParameterForm类,当处理过程发生错误时将返回index.jsp-->
<action path="/showinput" type="beans.ShowAction" name="GetParameterForm" scope="request" input="/index.jsp" />
<action path="/success" forward="/success.jsp"/>
<action path="/fail" forward="/error.jsp" />
</action-mappings>

</struts-config>

web.xml(具体配置的情况我作了注释)

<!-- Action Servlet Mapping -->
<!--该系统的servlet可以映射成.do为后缀的文件,后缀名可以改成任何名称.-->
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>

<!-- The Welcome File List -->
<!--该系统的默认首页是index.jsp,可以有多个,系统按次序找,类似IIS--> 
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>

<!-- Application Tag Library Descriptor -->
<!-- 定义标签库 -->
<!--
<taglib>
<taglib-uri>/WEB-INF/app.tld</taglib-uri>
<taglib-location>/WEB-INF/app.tld</taglib-location>
</taglib>
-->

</web-app>

这两个文件是我们用JDK+TOMCAT+STRUTS的基本配置,注意:在更改了这个配置后需要对TOMCAT进行重新启动!

在/你的目录/中存放你的.JSP文件,他们的编写你可以使用HTML或FRONGPAGE等工具编写,对于大家这个是比较简单的,在此我就不再觜书,代码如下:

INDEX.JSP

<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.util.*,java.sql.*,java.text.*,java.io.*"%>

<form name="form1" method="post" action="showinput.do">
输入success将返回到"success"页面,否则返回到"fail"页面<br><br>
input:<input type="text" name="valu">  <input type="submit" value="submit">
</form>
<br>
<a href="success.do">success</a><br>
<a href="fail.do">fail</a>

SUCCESS.JSP

<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.util.*,java.sql.*,java.text.*,java.io.*"%>

success!

ERROR.JSP

<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.util.*,java.sql.*,java.text.*,java.io.*"%>

error page!

再在/你的文件夹/WEB-INF/classes/beans中我们编写需要处理消息请求的类。具体代码如下:

GetParameterForm.java

package beans;
import org.apache.struts.action.ActionForm;
public class GetParameterForm extends ActionForm
{
private String valu="null";

public GetParameterForm() {
}

public void setValu(String s) {
valu = s;

public String getValu() {
return valu;

}

ShowAction.java

package beans;
import java.lang.reflect.InvocationTargetException;
import java.util.Locale;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.*;
import org.apache.struts.util.*;

public final class ShowAction extends Action

public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
Locale locale = getLocale(request); 
MessageResources messages = getResources(request); 
HttpSession session = request.getSession(); 
GetParameterForm userform = (GetParameterForm) form;
if(userform.getValu().equals("success")) {
return(mapping.findForward("success"));
}
else {
System.out.println(userform.getValu());
return(mapping.findForward("fail"));
}
}
}


最后你可以运行了。

在TOMCAT中地址中填写http://localhost:8080/你的文件夹

myeclipse开发struts应用程序小示例

今天看了下Struts框架的概述,就用myeclispe试着动手开发了一个简单的用户登录程序。应用程序包括2个jsp文件、一个 ActionForm、一个Action以及其它。是:login.jsp(...
  • jhaij
  • jhaij
  • 2007年05月02日 17:48
  • 764

struts旅程(二)Struts登录示例

1、jar包拷贝:首先是建立java web项目,之后打开我们我们下载好strtus框架,在bin文件夹中的lib文件中拷贝struts的jar包,拷贝到我们自己项目的lib文件夹下。 2、web...
  • lovesummerforever
  • lovesummerforever
  • 2014年02月10日 07:56
  • 28124

JQuery,ajax,jsonp,struts实现跨域

页面javaScript: $(document).ready( function() { var SERVER_VISIT_PATH = 'http://localhost:8080/...
  • jinrizk
  • jinrizk
  • 2014年10月30日 16:53
  • 886

Struts1框架轻易入门,经典示例

Struts1框架轻易入门,经典示例 一枚菜鸟的学习笔记,请多指教。Struts工作原理及流程 登录验证示例 Struts1 工作原理及流程 这是本人整理的一点材料,原...
  • jdjdndhj
  • jdjdndhj
  • 2016年08月17日 23:31
  • 9987

struts2 大白话原理简介

struts2 xml工作原理
  • u010756873
  • u010756873
  • 2016年03月08日 09:52
  • 309

Struts2的 Convention插件和Annotation使用(一)

Struts2的Annotation使用 分类: struts2 SSH整合 从struts2.1开始,struts2不再推荐使用Codebehind作为零配置插件,而是改为使用Conv...
  • u012188794
  • u012188794
  • 2014年12月16日 10:47
  • 473

struts官方的portlet例子

Struts 2 Portlet Tutorial - Creating a simple Bookmark Portlet Work in progress Using ...
  • lushuaiyin
  • lushuaiyin
  • 2011年11月29日 17:03
  • 1538

Struts2提交表单实例和struts主题

经过上一篇文章的学习,我们来做一个实例 要求emp-input.jsp表单里的s:select标签和s:checkboxlist标签由数据库数据传入 在这里我们做简化,在Dao里直接写入数据 下...
  • Mrwuyi
  • Mrwuyi
  • 2016年05月22日 21:04
  • 576

struts的bean标签用法

1.  bean:write       该标签将指定的bean的属性值写到当前的JspWriter中,并且可以对输出进行格式化。       例如在struts的action着那个通过r...
  • vallenlsl
  • vallenlsl
  • 2015年08月05日 15:51
  • 509

Struts2漏洞分析

Struts2漏洞分析 当在浏览器输入如下地址时:        http://www.xxxx.com/aaa.action?('\u0023_memberAccess[\'allowStati...
  • earbao
  • earbao
  • 2014年05月21日 23:34
  • 2498
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Struts示例分析
举报原因:
原因补充:

(最多只允许输入30个字)