Struts2笔记之第一讲
前言:学技术以来,已经三年了,感觉struts2好多知识点变成了模棱两可,为了净化自己的内心,使自己在知识领域有所建树,我要学会专研,下面就从struts2基础开始学起,也希望读者朋友们和我共进步。
一、struts2环境搭建:
需要注意sturs2需要运行在jre1.5及以上版本
二、第一个例子--登陆
1、创建java web项目
2、引入sturts2的依赖包,将依赖包拷贝到WEB-INFO/lib下
*commons-logging-1.0.4.jar
*freemarker-2.3.15.jar
*ognl-2.7.3.jar
*struts2-core-2.1.6.1.jar
*xwork(拦截器机制)-core-2.1.6.jar
*commons-fileupload-1.2.1.jar
3、在web.xml配置文件中,配置StrutsPrepareAndExecuyteFilter或FileterDispatcher(完成页面流转的配置)
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuyteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*</url-pattern>
</filter-mapping>
4、提供struts2配置文件struts.xml,放到src下
<?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>
<!-- 需要继承struts-defaluts包,这样就拥有基本的功能 -->
<package name="struts2" extends="struts-default">
<action name="login" class="com.struts2.LoginAction">
<result name="success">/login_success.jsp</result>
<result name="error">/login_error.jsp</result>
</action>
</package>
</struts>
5、LoginAction.java文件
package com.struts2;
public class LoginAction {
private String username;
private String password;
/**
* struts2 默认调用这个方法,返回字符串
* @return
* @throws Exception
*/
public String execute() throws Exception{
if("admin".equals(username) && "admin".equals(password)){
return "success";
}else{
return "error";
}
}
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;
}
}
6、建立jsp(login.jsp login_success.jsp、login_error.jsp)
login.jsp核心代码(把代码拷贝到body下面即可)
<form action="login.action">
用户:<input type="text" name="username"/><br/>
密码:<input type="password" name="password"/><br/>
<input type="submit" value="登陆">
</form>
login_success.jsp核心代码 (把代码拷贝到body下面即可)
${username},登陆成功
login_error.jsp核心代码 把代码拷贝到body下面即可)
登陆失败
三、struts2小特性
7、创建struts2的Action,struts2的 action可以不用继承struts2框架中的任何类,也不用实现struts2框架中的任何接口,所以struts2的Action可以是一个POJO(纯粹的java对象)
所以Struts2的Action测试更容易。
struts2缺省方法名称:public String execute() throws Exception;
8、在Action中提供getter和setter 方法,便于收集数据(这样收集数据的模式一般可以称为属性驱动模式)
9、struts2流程描述:一个请求过来要到达filter(名称:strutsPrepareAndExecuteFilter struts准备和执行的一个filter),这个filter会在里面判断你是不是一个action,不是action直接出去dofilter,是action
创建代理,然后在代理里执行一系列拦截器,(细点说然后在创建actioninvocation) 拦截器执行完调用action,action调用完之后根据转向信息,生成一个result对象,然后调用result对象的execute方法
转到视图,视图完了之后 拦截器出栈,然后response给浏览器
10、struts2与struts1最大的区别
最重要的对比 strust2是多例的,struts1单例的
分享到:
相关推荐
- **发展演变**: Struts2 结合了传统 Struts1 和 WebWork 两个经典框架的优点,是一个成熟的 MVC 框架。 - **核心功能**: - 允许使用 POJO (Plain Old Java Object) 作为 Action 类,使得 Action 更易于测试。 - ...
Struts2是Apache组织维护的一个开源项目,它是Struts1的升级版本,在设计理念和技术实现上都有较大的改进。Struts2是一个基于MVC(Model-View-Controller)模式的Java Web应用框架,它能够帮助开发者快速构建出结构...
- 第一种:通过ActionContext对象获取,`ValueStack valueStack1 = ActionContext.getContext().getValueStack();` - 第二种:通过ServletActionContext对象结合HttpServletRequest获取,`ValueStack valueStack2 ...
在本篇“Struts2学习笔记三”中,我们将聚焦于Struts2的类型转换这一核心特性。类型转换在处理用户提交的数据时非常关键,它允许Struts2自动将请求参数转换为Java对象的属性。 在Struts2中,类型转换主要由`...
本篇笔记将详细讲解Struts2中服务器端与客户端对表单数据的校验方式。 首先,Struts2提供了一系列内置的校验器,包括: 1. Irequired:检查字段是否为空,是必填项。 2. IIrequiredstring:验证字段是否为非空字符...
5. **缓存机制**: 第一级缓存(Session级别的)和第二级缓存(SessionFactory级别的),提高性能。 6. **事务管理**: 提供编程和声明式事务管理,与Spring整合时通常使用声明式事务。 **Spring3笔记** Spring是...
自学传智博客struts2-黎活明-源码-第01讲_01介绍struts2及struts2开发环境的搭建_DemoStruts2.rar; 笔记地址:http://www.guloulou.com/?p=1253
在第18讲“Struts2深入探索”中,我们将会探讨Struts2的一些高级特性和深入使用的技巧。这篇学习笔记将主要围绕以下几个核心知识点展开: 1. **拦截器(Interceptors)**: Struts2的核心特性之一是拦截器,它允许...
### servlet和struts2笔记 #### 一、Servlet 基础 **Servlet** 是 Java Web 开发中的一种核心技术,它被设计用于处理客户端发送到服务器的 HTTP 请求,并且能够生成响应。Servlet 可以看作是服务器端的小程序,...
本学习笔记将对Struts1和Struts2进行详细解析。 **Struts1简介** Struts1是早期流行的MVC框架,它的核心是ActionServlet,负责处理HTTP请求,并通过ActionForm对象收集表单数据,然后调用Action类的方法进行业务...
本篇学习笔记将深入探讨Struts2的入门与配置,继续上一讲的内容。 首先,Struts2的基础入门涉及到以下几个核心概念: 1. **Action类**:在Struts2中,业务逻辑通常封装在Action类中。Action类是处理用户请求的主体...
5. **编写第一个示例程序:** - 在`struts.xml`文件中添加如下配置: ```xml <struts> <constant name="struts.devMode" value="true"/> <package name="default" namespace="/" extends="struts-default"> ...
Struts2是一个强大的Java web开发框架,它极大地简化了基于MVC模式的应用程序构建过程。在Struts2中,拦截器扮演着至关重要的角色,它们是实现业务逻辑和控制流程分离开来的重要组件。本篇将深入探讨Struts2的核心...
首先,我们从“第一章 Struts2简介.txt”开始,这一章可能涵盖了Struts2的基本概念,包括其发展历程、设计原则以及在Java Web开发中的重要性。Struts2是Apache软件基金会的产品,它继承了Struts1的优点并解决了其...
### Struts2框架学习笔记整理 #### 一、Struts2框架概述 ##### 1.1 Struts2框架定义 Struts2是一个基于MVC(Model-View-Controller)架构模式的开源Java web应用框架,它能够帮助开发者构建可扩展且易于维护的...
在"Struts2学习笔记四(第4讲.Struts2的类型转换续)"中,我们将会深入探讨Struts2中的类型转换机制,这是一个核心特性,用于处理Action类属性与HTTP请求参数之间的数据类型转换。 在HTTP请求中,数据通常是字符串...
学习Struts2第一天的笔记
在第六讲中,我们将深入探讨Struts2的输入验证机制,这是确保应用程序数据安全性和正确性的重要环节。Struts2的输入验证可以分为客户端验证和服务器端验证,两者都有其优点和适用场景。 首先,客户端验证通常使用...
2. **环境搭建**:(一)环境搭建.txt可能包含了安装和配置Struts2框架的基础步骤,这通常包括添加Struts2库到项目依赖、配置web.xml文件、创建第一个Struts2应用等。 3. **UploadServlet.java**:在Struts2中,...
#### 第一步:创建Web项目 在MyEclipse中创建一个新的Java EE Web项目,选择适当的Java EE版本(本教程中使用5.0版本),并使用JDK6作为编译器。 #### 第二步:导入Struts2开发jar包 将**apps/struts2_blank.war/...