`
joylili
  • 浏览: 1898 次
  • 性别: Icon_minigender_2
  • 来自: 济南
最近访客 更多访客>>
社区版块
存档分类
最新评论

struts2.0学习笔记1

阅读更多
小女子初来乍道,贴上自己学习struts2.0的笔记,希望各位大侠给点儿指点.小女子不胜感激~~

环境:myeclipse+tomcat5.5

1.建一个名为struts2.0的web project.把commons-logging-1.0.4.jar,freemarker-2.3.8.jar,ognl-2.6.11.jar,struts2-core-2.0.12.jar,xwork-2.0.6.jar 5个jar包放在WebRoot-(WEB-INF)-lib下面

2.配置web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
	http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

	<display-name>struts2.0</display-name>
	<filter>
		<filter-name>struts2</filter-name>
		<filter-class>
			org.apache.struts2.dispatcher.FilterDispatcher
		</filter-class><!-- 固定的写法 -->
	</filter>
	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
</web-app>


3.配置struts.xml
在src下新建一个名为"struts.xml"的文件,内容为:
<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
	<include file="struts-default.xml"></include>
</struts>


基本的struts2.0环境已经完成

做一个简单的例子吧~~~
index.jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ taglib uri="/struts-tags" prefix="s2"%><!-- 引入struts标签 -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
		<title>login 页面</title>
	</head>

	<body>
		<s2:form action="login" theme="simple">
			<table>
				<tr>
					<td align="center">
						username:
					</td>
					<td align="center">
						<s2:textfield name="user.name"></s2:textfield>
					</td>
				</tr>
				<tr>
					<td align="center">
						password:
					</td>
					<td align="center">
						<s2:password name="user.pwd"></s2:password>
					</td>
				</tr>
				<tr>
					<td align="center">
						<s2:a>注册</s2:a>
					</td>
					<td align="center">
						<s2:submit value="submit"></s2:submit>
					</td>
				</tr>
			</table>
		</s2:form>
	</body>
</html>


建立sucess.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
		<title>scuess页面</title>
	</head>

	<body>
		scuess!
		<br>
	</body>
</html>


建立erorr.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
		<title>erorr页面</title>
	</head>

	<body>
		erorr!
		<br>
	</body>
</html>


建立LoginAction.java
package action;

import bean.User;

public class LoginAction {

	private User user;

	public String login() throws Exception {
		//判断登录者的用户名与密码
		if ("admin".equals(user.getName()) && "admin".equals(user.getPwd())) {

			return "sucess";//如果满足条件就返回"sucess".
			
		} else
			return "error";

	}

	public User getUser() {
		return user;
	}

	public void setUser(User user) {
		this.user = user;
	}
}

新建User.java
package bean;

public class User {

	private String name;
	private String pwd;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getPwd() {
		return pwd;
	}

	public void setPwd(String pwd) {
		this.pwd = pwd;
	}
}



struts.xml
<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
	<include file="struts-default.xml"></include>
	<package name="action" extends="struts-default"><!--注意extends="struts-default"中没有".xml"  -->
		<action name="login" class="action.LoginAction"
			method="login"><!-- 如果没有method属性,在action.LoginAction中就要用以execuse为名的方法 -->
			<result name="sucess">/sucess.jsp</result><!-- 设置跳转页面 如果返回是sucess,就要跳转到根目录下的sucess.jsp页面 -->
			<result name="error">/error.jsp</result>
		</action>
	</package>
</struts>


总结:
上述的例子在网上一G就一大堆,初学的我感觉做一些简单的例子可以更好的去理解也能很快的上手,但是就是这么简单的例子我频频的出错,不过自认为是件很美妙的事.总结一下我出过的错吧~~~
1.起初我认为struts2XXXX.jar都放在lib下会更省事,没想到总是报错:
2008-10-30 17:18:22 org.apache.catalina.core.StandardContext start
严重: Error filterStart
2008-10-30 17:18:22 org.apache.catalina.core.StandardContext start
严重: Context [/struts2.0] startup failed due to previous errors

我在G上一搜有很多情况都会导致这样的错误.主要是有几点 A class文件无法编译. B
tomcat的JDK版本与IDE的JDK不一致. C 缺少jar包.......
而导致我错的罪魁祸首就是struts2-plexus-plugin-2.0.11.jar,struts-sitegraph-plugin-2.0.11.jar和struts2-spring-plugin-2.0.11.jar这三个文件,把他们从项目里删除后,就一切OK了!原理嘛,我不知道,请大侠们指点指点~~

2.严重: Unable to find parent packages struts-default.xml
这就是为什么我在struts.xml中注释
	<package name="action" extends="struts-default.xml"><!--注意extends="struts-default"中没有".xml"  -->

都怪我粗心大意呀~~~

3.要先建立返回页面,再写struts.xml中的<result ....></result>
如是先写好struts.xml中的返回总是会报找不到XXXX.jsp.而实事上明明就存在呀,真是怪了.后来我把struts.xml中的<result ....></result>删除保存,再写上<result ....></result>保存就好了~~~

可能在表达上有不准确的地方,还请大家多多指教~~小女子这厢有礼了~~
2
0
分享到:
评论
11 楼 FengShen_Xia 2008-12-16  
zhouyq 写道

你在我们JAVA世界里面就是宝,支持。

10 楼 joylili 2008-12-01  
慕容轩 写道

只看不说! 

说说呗~~不管好的还是坏的,俺都可以接受啦
9 楼 joylili 2008-12-01  
zhouyq 写道

你在我们JAVA世界里面就是宝,支持。

宝?呵呵~~~
8 楼 joylili 2008-11-21  
src下
lxly5288 写道

两个strut.xml分别放在哪儿里????

在src下
7 楼 lxly5288 2008-11-20  
两个strut.xml分别放在哪儿里????
6 楼 慕容轩 2008-11-20  
只看不说!
5 楼 joylili 2008-11-15  
cowpoke 写道

&lt;action name="login" class="action.LoginAction"&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; method="login"&gt;&lt;!-- 如果没有method属性,在action.LoginAction中就要用以execuse为名的方法 --&gt;&nbsp;&nbsp; 此处应该是 以execute为名的方法吧.!!

呵呵,对噢~~~丢人呀~~~
感谢指教!
4 楼 cowpoke 2008-11-11  
<action name="login" class="action.LoginAction" 
            method="login"><!-- 如果没有method属性,在action.LoginAction中就要用以execuse为名的方法 -->  

此处应该是
以execute为名的方法吧.!!
3 楼 zhouyq 2008-11-11  
你在我们JAVA世界里面就是宝,支持。
2 楼 joylili 2008-10-30  
andybrier3 写道

支持mm!

感谢支持~~~
1 楼 andybrier3 2008-10-30  
支持mm!

相关推荐

    struts2.0学习笔记,代码整理

    本学习笔记主要涵盖了Struts2.0的基础概念、核心组件、配置方法以及实际代码示例,旨在帮助开发者更好地理解和运用这个框架。 一、Struts2.0基础 Struts2.0是Apache软件基金会的开源项目,它是Struts1.x的升级版本...

    struts2.0学习笔记

    本篇学习笔记将深入探讨Struts2.0的核心概念和配置,帮助你理解和掌握这个框架。 **一、Struts2的作用** Struts2的主要目标是提供一种结构化的开发方式,它整合了请求处理、视图展示和业务逻辑的交互。通过使用...

    Struts2.0学习笔记.doc

    Struts2.0是一个流行的Java Web开发框架,它极大地简化了MVC(模型-视图-控制器)架构的实现。在Struts2中,类型转换是自动进行的,旨在帮助开发者处理请求参数与Action类属性之间的类型匹配问题。文档中的内容主要...

    Struts2.0培训笔记

    本培训笔记将深入探讨Struts2.0的核心概念、特性以及如何在实际项目中有效应用。 一、Struts2.0框架基础 Struts2.0是Apache软件基金会的项目,它是Struts1.x的升级版,提供了更强大的功能和更好的性能。该框架通过...

    struts2.0笔记(1)

    Struts2.0是在Struts1.x的基础上发展起来的,它引入了许多新特性,提高了开发效率并增强了可扩展性。首先,Struts2.0采用拦截器(Interceptor)机制来处理请求,使得业务逻辑与控制逻辑分离,更易于维护。拦截器堆栈...

    struts2.0实例源码

    struts2.0实例源码(struts2是我写的struts2Deom是我下的资源项目一起给大家) 包括strust2.0的所有知识面,每个点我都写了详细注释 网上是很难找到这样的资料的,这是我个人学习笔记拿出来希望跟大家一起学习...

    struts2.0相关学习资料

    通过阅读Struts2.0中文手册和学习笔记,以及动手实践教程中的示例,可以全面掌握Struts2.0的用法和精髓。在实际项目中,熟练运用Struts2.0能提高开发效率,降低维护成本。同时,了解并熟悉相关的社区资源和最佳实践...

    struts2.0(希望可以帮助大家)

    这个压缩包包含的资源是作者学习Struts2.0过程中的笔记和示例,分为两个文档:struts2.0文档1-2.doc和struts2.0文档3-4-5.doc,涵盖了从基础到进阶的内容。 在"struts2.0文档1-2.doc"中,可能包括了以下知识点: 1...

    strust2.0学习笔记

    ### Struts2.0 学习笔记 #### 引言 Struts2 是一款非常流行的 Java Web 开发框架,它基于 Struts1 进行了重大的改进与优化,不仅继承了 Struts1 的优秀特性,还在此基础上进行了扩展,支持更加丰富的功能,如拦截...

    struts2学习笔记(1)

    ### Struts2学习笔记知识点详解 #### 一、Struts2框架的基本引入步骤 ##### 1. 导入Struts2相关Jar包 在引入Struts2框架时,首先需要将Struts2的相关Jar包导入到项目的类路径中。这些Jar包通常包括核心库以及其他...

    struts2学习笔记.doc

    ### Struts2学习笔记知识点概览 #### 一、环境搭建 **1.1 Struts2简介** - **Struts2概述**:Struts2是一个开源的MVC框架,它结合了Struts 1.x、WebWork和其他一些框架的优点。Struts2的主要目标是简化Web应用程序...

    Spring2.0学习笔记

    【Spring2.0学习笔记】 在深入探讨Spring2.0的知识点之前,首先理解几个核心概念至关重要。Spring框架的核心设计理念是控制反转(Inversion of Control, IoC)和依赖注入(Dependency Injection, DI)。IoC意味着...

    STRUTS2学习系列

    &lt;display-name&gt;Struts2.0HelloWorld &lt;filter-name&gt;struts2 &lt;filter-class&gt;org.apache.struts2.dispatcher.FilterDispatcher &lt;filter-name&gt;struts2 &lt;url-pattern&gt;/* &lt;!-- 其他配置 --&gt; ``` 这段代码...

Global site tag (gtag.js) - Google Analytics