小女子初来乍道,贴上自己学习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>保存就好了~~~
可能在表达上有不准确的地方,还请大家多多指教~~小女子这厢有礼了~~
分享到:
相关推荐
本学习笔记主要涵盖了Struts2.0的基础概念、核心组件、配置方法以及实际代码示例,旨在帮助开发者更好地理解和运用这个框架。 一、Struts2.0基础 Struts2.0是Apache软件基金会的开源项目,它是Struts1.x的升级版本...
本篇学习笔记将深入探讨Struts2.0的核心概念和配置,帮助你理解和掌握这个框架。 **一、Struts2的作用** Struts2的主要目标是提供一种结构化的开发方式,它整合了请求处理、视图展示和业务逻辑的交互。通过使用...
Struts2.0是一个流行的Java Web开发框架,它极大地简化了MVC(模型-视图-控制器)架构的实现。在Struts2中,类型转换是自动进行的,旨在帮助开发者处理请求参数与Action类属性之间的类型匹配问题。文档中的内容主要...
本培训笔记将深入探讨Struts2.0的核心概念、特性以及如何在实际项目中有效应用。 一、Struts2.0框架基础 Struts2.0是Apache软件基金会的项目,它是Struts1.x的升级版,提供了更强大的功能和更好的性能。该框架通过...
Struts2.0是在Struts1.x的基础上发展起来的,它引入了许多新特性,提高了开发效率并增强了可扩展性。首先,Struts2.0采用拦截器(Interceptor)机制来处理请求,使得业务逻辑与控制逻辑分离,更易于维护。拦截器堆栈...
struts2.0实例源码(struts2是我写的struts2Deom是我下的资源项目一起给大家) 包括strust2.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...
### Struts2.0 学习笔记 #### 引言 Struts2 是一款非常流行的 Java Web 开发框架,它基于 Struts1 进行了重大的改进与优化,不仅继承了 Struts1 的优秀特性,还在此基础上进行了扩展,支持更加丰富的功能,如拦截...
### Struts2学习笔记知识点详解 #### 一、Struts2框架的基本引入步骤 ##### 1. 导入Struts2相关Jar包 在引入Struts2框架时,首先需要将Struts2的相关Jar包导入到项目的类路径中。这些Jar包通常包括核心库以及其他...
### Struts2学习笔记知识点概览 #### 一、环境搭建 **1.1 Struts2简介** - **Struts2概述**:Struts2是一个开源的MVC框架,它结合了Struts 1.x、WebWork和其他一些框架的优点。Struts2的主要目标是简化Web应用程序...
【Spring2.0学习笔记】 在深入探讨Spring2.0的知识点之前,首先理解几个核心概念至关重要。Spring框架的核心设计理念是控制反转(Inversion of Control, IoC)和依赖注入(Dependency Injection, DI)。IoC意味着...
<display-name>Struts2.0HelloWorld <filter-name>struts2 <filter-class>org.apache.struts2.dispatcher.FilterDispatcher <filter-name>struts2 <url-pattern>/* <!-- 其他配置 --> ``` 这段代码...