Struts2入门
Struts2是基于Struts 和webwork形成的,比Struts1提供了更多更强大的功能。(可以说Struts2是webwork的衍生)
一、使用Struts2所必须的jar包
:commons-filoupload-1.2.1.jar
commons-io-1.3.2.jar
commons-logging-1.0.4.jar
ognl-3.0.jar //对象表达语言
strus2-core-2.2.1.1.jar//struts2核心库
xwork-core-2.2.1.1.jar
freamarker-2.3.16.jar //从struts2.0开始需要此jar包
javassist-3.7.ga.jar
二、创建Struts2的配置文件
:在 src下面创建struts.xml //导入struts2.0.dtd 它在struts2-core-2.2.1.1.jar的目录下
/*为什么要在src下面创建struts.xml
因为Struts2框架真正的配置文件在项目中的classes文件中
创建在src下面是为了让IDE能够自动拷贝到Struts真正执行的配置文件中
*/
//如何配置struts.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="struts2" extends="struts-default">
//继承了struts-default.xml
//配置一个Action对象
/*package 中name的值无任何实际意义 可以用于其它packeage的继承*/
<action name="login" class="org.viancent.action.LoginAction">
<result name="success">/result.jsp</result>
/*
result标签中还有一个属性Type用于指定跳转的类型它默认的是使用dispathcer 请求转发redirect则是重定向等等在struts-default.xml都有定义
*/
</action>
</package>
</struts>
//在struts2 在web.xml的配置如下:struts2需要配置在web.xml文件文件中配置一个过滤器
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>
/* //(这里一般使用"/*")
</url-pattern> //注意啦,这里不能用"/*.action" (能够使用“*.action” 但是只有在项目中没有Jsp使用struts2标签的时候才能使用,否则会抛出异常)
</filter-mapping>
//在LoginAction类中的信息
public class LoginAction {
private String username;
/*
当表单将数据发送进来后,表单中的属性名会与LoginAction中的
(set+表单元素的名称的方法 如:setUsername()方法对应
<input type="text" name="userName" id="userName">元素)进行比对,
*/
private String password;
//如果相同则将数据信息赋值给该属性,并且将数据信息保存在request作用域中
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String execute() {
return "success";
}
}
//在index.jsp中的信息为:
<body>
<form action="login.action">
//这里填写struts.xml 文件中配置的与之处理相关的Action 标签的name属性的值+.action
username:<input type="text" name="username" id="username" />
<br />
password:<input type="password" name="password" id="password"/>
<br />
<input type="submit" value="submit" />
</form>
</body>
//配置一个result.jsp 显示结果页面
//启动服务器
//在tomcat apache-tomcat-6.0.14服务器中config文件夹中的service.xml
/*文件中的<host>标签中添加项目启动信息
<Context path="/struts2" docBase="C:\Users\Administrator\Workspaces\MyEclipse 8.5\Struts2\WebRoot"
reloadable="true"/>
reloadable :设置当工程有改动的时候是否自动加载
path: 浏览器访问时需要的路径
docBase:启动的项目路径 对应WebRoot路径
*/
//在浏览器中
//使用 http://localhost:8080/struts2/ 访问index.jsp界面
//struts2 项目中可能出现的异常
a):java.lang.reflect.InvocationTargetException
Caused by: java.lang.IllegalArgumentException: Javassist library is missing in classpath! Please add missed dependency!
解析:这个问题说明项目中缺少javassist-3.7.ga.jar 此异常常出现在struts2.2.1.1版本中老版中将此jar包封装在struts2库中所以不会出现此类异常
b):There is no Action mapped for namespace / and action name login
解析:这个问题出在服务器没有找到对应的acion对象 可能出现的原因有一下几点:
1.struts.xml 写错了,大小写都会去区分
2.url访问的ation 的名称错误
3.struts.xml的位置错误
以前写的东西,贡献出来尽一点绵力吧。后续会有更多文章,希望与大家互相学习。如果有错误请不吝赐教。
分享到:
相关推荐
对于初学者,"struts2.chm"提供了入门指导;对于有一定经验的开发者,"struts2-tags-API.chm"和"struts2 2.chm"将帮助他们更好地利用Struts2的高级特性,提升开发效率。总的来说,这个压缩包是学习和开发Struts2应用...
"struts2-blank"项目是一个基础的Struts2示例代码,可以帮助初学者快速理解和入门Struts2框架。 在Struts2框架中,核心组件包括Action、Interceptor、Result、ValueStack等。Action是业务逻辑的执行者,Interceptor...
在这个"struts2-例子"压缩包中,我们主要关注的是一个名为"struts2-blank"的项目,这是一个基础的、空白的Struts2应用模板,用于新手快速入门和理解框架的基本工作原理。 首先,Struts2的核心在于Action类,它是...
Struts2是一个强大的MVC(Model-View-Controller)框架,它是Apache软件基金会下的一个开源项目...通过学习,开发者可以掌握如何创建Action、配置Struts2、使用拦截器、处理表单验证以及结合其他技术进行Web应用开发。
11. ** strut2-docs 中的详细内容**:压缩包中的文档可能包括框架概述、快速入门指南、配置参考、API文档、插件介绍、示例代码和最佳实践等多个部分,为开发者提供全方位的学习材料。 通过阅读这些文档,开发者能够...
在本学习资料中,初学者将能深入理解Struts2的核心概念和工作原理,从而轻松入门。 Struts2框架的核心功能包括: 1. **请求分发**:Struts2通过Action类来处理HTTP请求。每个Action类对应一个业务逻辑,接收请求后...
输出Hello World 使用到struts2标签和jstl表达式 2、 URL:http://localhost:8080/struts100515 输入用户名XXX ------> 提交 ,显示 你好 XXX 使用ONGL表达式 3、 URL:...
在入门Struts2之前,需要准备以下开发环境和工具: - 开发工具:MyEclipse6(尽管它不直接支持Struts2,但可以使用其进行基础开发) - Web服务器:Tomcat6(用于部署和测试Web应用程序) - Struts版本:Struts*.*.**...
这个"starting-struts2-chinese.rar"压缩包文件包含了一份中文版的"starting-struts2-chinese.pdf"文档,很显然是为帮助初学者理解和入门Struts2框架而准备的。 Struts2的核心是模型-视图-控制器(MVC)设计模式,...
这个DEMO旨在帮助开发者快速理解和应用Jcaptcha4Struts2,为初学者提供了一个基础入门级的学习资源。 Jcaptcha4Struts2是基于Jcaptcha(Just Another CAPTCHA)的Struts2插件,它将Jcaptcha的功能无缝集成到Struts2...
在"struts2-easyui"的例子中,我们看到的是一个基础的快速入门教程,它演示了如何将这两个技术整合在一起,实现数据的增删改查功能。下面将详细解释这个组合的应用场景、工作原理以及相关的知识点。 1. **Struts2...
这个“Struts2 的入门简单的hello”项目是一个非常适合初学者了解和学习Struts2的基础知识的实例。 首先,让我们从创建一个基本的Struts2应用开始。在Java世界里,MVC模式是web开发的核心,它将业务逻辑、数据和...
struts 初步认识Struts2并部署验证 struts2 将要进行自定义类型转换的点数据从1个增加到3个 struts3 进行全局的类型转换 struts4 使用Struts2中内部类中的方法进行自定义类型转换,用到的类StrutsTypeConverter ...
Struts2是一个强大的Java web...学习和掌握Struts2框架,需要深入理解这些概念,并通过实际项目进行实践。文档中的每个章节都会帮助开发者逐步理解Struts2的各个方面,从而更好地利用这个框架构建高效、稳定的Web应用。
在"Struts2 入门\struts2基本jar包"目录下,你可以找到一组基础的jar包,这些是学习和搭建Struts2入门级应用所需的基本组件。它们包括了处理HTTP请求、映射请求到Action、视图渲染等功能的关键类。通过这些基本jar包...
- `Struts2学习入门.pdf`可能是一个全面的PDF教程,涵盖Struts2的各个方面,适合初学者系统学习。 - `webwork2开发指南.pdf`则是针对WebWork框架的指导手册,帮助理解WebWork的设计原理和用法。 通过以上文档,你...
1. **快速入门**:这通常是一份简明教程,帮助开发者快速了解Struts2的基本概念和配置,如Action、Result、Interceptor等,并指导如何搭建第一个运行的Struts2应用。 2. **使用文档**:这部分详细介绍了如何在实际...
这些示例可以帮助开发者快速入门,了解如何在实际项目中应用Struts 2框架。 6. **学习与开发**: 对于开发者来说,熟悉Struts 2.3.14-Pro意味着要掌握Action类、配置文件(struts.xml)、拦截器、结果类型、动态...
这个入门学习源码包包含了关于Struts2的基础知识、学习笔记以及源码实例,旨在帮助初学者快速理解和掌握Struts2的核心概念和技术。 首先,让我们深入了解Struts2的基本原理。Struts2是Apache软件基金会的一个开源...