- 浏览: 1989452 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (509)
- JavaEE (122)
- Oracle数据库 (29)
- JavaScript (37)
- SAP (5)
- MySql数据库 (7)
- JavaSE (4)
- Ajax (1)
- jQuery (13)
- SSH框架 (36)
- Web Service (10)
- JSF框架 (2)
- JBPM (0)
- ireport报表 (2)
- ibatis (5)
- Hibernate (31)
- JSP (11)
- Tomcat 服务器 (20)
- Other (19)
- JavaWeb (4)
- Maven (11)
- OSWorkFlow (10)
- HTML (13)
- Exception汇总 (7)
- SVN (2)
- 笑话 (1)
- JSTL (1)
- WebSphere Message Broker (13)
- ANT命令 (3)
- Liunx (12)
- Struts2 (26)
- Eclipse (6)
- DOS (3)
- Flex (11)
- WebSphere (1)
- 开发常用工具 (3)
- Junit (2)
- EJB (4)
- Struts1.2 (2)
- Jboss (1)
- Android (2)
- Java框架源码解析 (1)
- Spring (4)
- MyBatis (6)
- SpringMVC (4)
- Jetty (2)
- 数据库表设计 (1)
- SSO (4)
最新评论
-
贝塔ZQ:
也可以试试PageOffice插件,觉得更简单点
Jxl操作Excel设置背景、字体颜色、对齐方式、列的宽度 -
jia1208:
...
Could not publish server configuration for Tomcat v6.0 Server at localhost. -
u011274527:
赞
java.io.EOFException java.io.ObjectInputStream$PeekInputStream.readFully 错误 -
旭旭小牛啦:
怎么没哟了,继续赛
jQuery 选择器 -
wzw3919:
100行会报空指针
Java 解压缩zip文件
一.基本步骤:
1.准备struts2包:
最基本的五个jar包拷贝到WEB-INF的lib目录下,具体包名如下:
commons-logging-1.0.4.jar
freemarker-2.3.8.jar
ognl-2.6.11.jar
struts2-core-2.0.11.2.jar
xwork-2.0.5.jar
2.在web.xml注册和映射FilterDispatch
org.apache.struts2.dispatcher.FilterDispatcher
3.login.jsp界面
<form action="user!login.action">
4. 写UserAction类,不需要继承
5. 在一个配置文件struts.xml文件,放在src下面
二.一个action处理多个请求
1. 在action中把execute方法删除或改名
2. 创建自己的方法
3. <form action="user!login.action"
这里本来是action="user.action"
这里的login就是方法名
三.怎么使用request/ session
1. 只要在action写一个属性,并生成set/get就会自动保存到request
2. ActionContext.getContext().put("test2", "test2");
具体代码如下:
建立项目名称:Struts2.
在src目录下.建立包com.struts2.action
在包下面建立一个UserAction类;
具体代码如下:
package com.struts2.action; import com.opensymphony.xwork2.ActionContext; public class UserAction { private String id; private String username; private String password; public String getId() { return id; } public void setId(String id) { this.id = id; } 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; } /** * 登陆方法; * @return String; */ @SuppressWarnings("unchecked") public String login(){ this.id = "1001"; //判断; if(this.username.equals("zhouhaitao") && this.password.equals("7290783")){ //ActionContext.getContext.相当于request.setAttribuet()一样; ActionContext.getContext().put("id",id); //保存到session当中; ActionContext.getContext().getSession().put("name", this.username+"登陆成功!"); return "yes"; }else{ return "no"; } } /** * 注册方法; */ public String regester(){ System.out.println("调用注册的方法.开始注册!"); System.out.println(this.id); System.out.println(this.username); System.out.println(this.password); ActionContext.getContext().put("name",this.username+"注册成功!"); return "yes"; } }
之后,在src目录下:建立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> <!-- 可以引用其他的配置文件 --> <include file="struts-default.xml"></include> <!-- name代表包的名称 extends代表引用其他的默认文件,namespace代表命名空间,可选--> <package name="com.struts2.action" extends="struts-default"> <!-- name 代表action名称,与struts1的path类似 --> <action name="user" class="com.struts2.action.UserAction"> <result name="yes" type="dispatcher">success.jsp</result> <result name="no" type="redirect">failure.jsp</result> </action> </package> </struts>
在WebRoot目录下:创建一个login.jsp页面
具体代码如下:
<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Login Page</title> <script type="text/javascript"> //提交; function onSubmitLogin(){ var username = document.getElementById("username"); var password = document.getElementById("password"); var bol = false; if(username.value == ""){ alert("用户名不能为空!"); username.focus(); bol = false; return; } if(password.value == "" || password.value.length <=0){ alert("密码不能为空!"); password.focus(); bol=false; return; } if(bol=true){ document.getElementById("myform").submit(); } } </script> </head> <body onload="document.getElementById('username').focus()"> <center> <h1>用户登陆</h1> <form action="user!login.action" method="post" name="myform" id="myform"> 用户名:<input type="text" name="username"> <Br/> 密码: <input type="password" name="password"><Br/><Br/> <input type="button" value=" 登 陆 " onclick="onSubmitLogin()"> <input type="reset" value=" 重 置 "> </form> </center> </body> </html>
建立一个success.jsp 页面 和failure.jsp页面。
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Insert title here</title> </head> <body> <font color="red"><h1>恭喜:${request.name }</h1></font> <Br/> <a href="http://localhost:8080/Struts2/regist.jsp">返回注册页面</a> <a href="http://localhost:8080/Struts2/login.jsp">返回登陆页面</a> </body> </html>
failure页面:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Insert title here</title> </head> <body> <font color="red"><h1>抱歉,登陆失败!!</h1></font><br/> <a href="http://localhost:8080/Struts2/login.jsp">返回登陆页面</a> </body> </html>
配置web.xml文件、
代码如下:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>Struts2</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.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
在tomcat中部署,发布启动服务.
在流量器中运行:
http://localhost:8080/Struts2/login.jsp
然后,输入正确的用户名和密码.
ok。登陆成功!
- Struts2中struts.xml常用配置解析.rar (5.9 KB)
- 下载次数: 3
- struts2实例.rar (3.2 MB)
- 下载次数: 8
发表评论
-
java.lang.NoSuchMethodException: No such accessible method: addForwardConfig() o
2012-06-07 00:07 3377经常有人在配置Struts1.2的struts-conf ... -
Unable to load configuration. - action - file:/C:/Documents%20and%
2011-12-12 21:34 8034Unable to load configuration. - ... -
Struts2+jQuery+Ajax
2011-11-29 11:05 2925一个简单的Json实例,采用Struts2 + jQuery1 ... -
Struts2 使用”#“获取数据 和不使用“#”号的区别。
2011-09-29 11:43 1221最近使用struts2 做项目时, 如果在后台可以使用两 ... -
struts2 标签 s:optiontransferselect左右下拉列表的使用。
2011-09-24 01:08 1930最近做项目,需要用到struts2中的标签, 自己便研 ... -
Struts2 标签出现'dojo' 未定义 解决方案
2011-09-23 23:09 1366我在做项目用到了struts2中的 s:optiont ... -
struts2几种result type探究
2011-09-22 02:18 1308可以在struts2-core-{version}.jar ... -
Struts2 自定义拦截器,怎么实现先于 action 执行
2011-09-08 00:31 1418在Action前用拦截器是直接return act.invok ... -
struts2自定义拦截器,模拟登陆权限验证
2011-09-08 00:27 2259struts2自定义拦截器一——模拟登陆权限验证 1、h ... -
JSP的Filter对struts2 中的 action拦截不起作用的解决方案.
2011-09-08 00:22 2190好像在web.xml配置filter只能实现对jsp的拦截 ... -
从数据库中获取国际化资源文件的key,然后通过Struts2的标签显示
2011-09-04 13:34 3329首先在mySql数据库中建 ... -
Parse Error at line 2 column 15: Document is invalid: no grammar found.
2011-09-03 00:09 2205今天部署把项目部署到tomcat上面时,发现了一个错误,. ... -
java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputS
2011-08-29 01:02 4041java.lang.NoClassDefFoundError: ... -
java.lang.RuntimeException: Unable to load bean org.apache.struts2.dispatcher.mu
2011-08-29 00:32 1413最近做文件上传的功能时,报如下错误..是因为少了一个jar包的 ... -
Struts2 标记判断List集合和Map集合元素的大小
2011-08-25 20:34 4251比如判断一个list集合中的元素等于或小于0, <!- ... -
Struts2 <s:if> 标签的使用
2011-08-25 16:31 1070标签用法如下: test中是用来,放表达式,不能嵌套EL表达 ... -
Struts2 Caused by: java.lang.IllegalArgumentException: argument type mismatch
2011-08-15 09:27 8850前台页面文本框 name 绑定的属性,与后台属性不一致. ... -
Struts2 一些常见的标签的使用
2011-08-10 00:52 1272直接贴后台代码: package com.struts2.a ... -
Struts2+JQuery+Json登陆实例
2011-07-17 23:21 6320在搭建之前.. 首先,需要准备struts2.0框架的5个核心 ... -
java.lang.NoSuchMethodError: com.opensymphony.xwork2.ActionContext.get(Ljava/lan
2011-07-16 18:47 5530java.lang.NoSuchMethodError: ...
相关推荐
Struts2.0是Java Web开发中一个非常重要的框架,它是Apache软件基金会的Jakarta项目下的一个开源产品,主要用于构建MVC(Model-View-Controller)模式的应用程序。本入门案例将带你逐步了解如何使用Struts2.0来创建...
Struts是Java EE领域中一个经典的MVC(Model-View-Controller)框架,它由Apache软件基金会维护。这个“java内部培训资料 struts专题”压缩包文件提供了丰富的资源,帮助初学者快速掌握Struts框架的核心概念和技术,...
Struts2是Java Web开发中一个非常重要的框架,它基于MVC(Model-View-Controller)设计模式,为开发者提供了一种结构化的解决方案,简化了Web应用的开发过程。达内的Struts2全套学习资料旨在帮助初学者快速掌握这一...
Struts+Spring+Hibernate 整合是Java Web开发中一种常见的技术栈,它结合了三个强大的框架,以实现高效、灵活且易于维护的后端应用。这篇文章将带你一步步入门这三者的整合,从基本概念开始,到环境搭建,再到实际...
Struts2是Java Web开发中一个非常重要的框架,它基于MVC(Model-View-Controller)设计模式,为开发者提供了一种结构化、可扩展且易于维护的应用开发方式。相较于其前身Struts1,Struts2引入了许多改进和新特性,...
**SSH2**,即**Struts2 + Hibernate + Spring**的组合,是Java Web开发中一种流行的三层架构模式。这三种技术分别代表了MVC(Model-View-Controller)模式的不同层次,Struts2作为表现层,Spring作为业务逻辑层,...
- **12.3.2 开发HelloWorld**:通过简单的“Hello World”示例,让读者快速入门Struts2开发。 - **12.3.3 使用国际化消息**:展示如何在Struts2应用中实现多语言支持。 - **12.3.4 基于POJO的Action开发**:介绍...
SSH整合是Java开发中一种常见的Web应用程序开发框架,它由Struts、Spring和Hibernate三个开源框架集成,分别负责表现层、业务逻辑层和数据访问层的功能。本教程将引导你从入门到应用,全面理解SSH整合的核心概念和...
Struts2.0是Java Web开发中一个非常重要的框架,它是Apache软件基金会的Jakarta项目下的产品,主要用于构建MVC(Model-View-Controller)架构的Web应用程序。本资源包包含了一系列中文学习资料,旨在帮助开发者全面...
本书不仅介绍了Spring、Struts2、Hibernate三个核心框架的基本概念和使用方法,还通过丰富的实例帮助读者理解如何在实际项目中运用这些技术。 #### 二、章节知识点分析 ##### 第一章:基础知识与框架介绍 1. **...
#### 二、Spring快速入门教程 **下载Struts和Spring:** - **Struts**:Apache Struts 是一个基于MVC架构的Web框架,用于构建动态的Web应用。 - **Spring**:Spring 框架提供了一个完整的解决方案,包括IoC容器、...