前提环境:Linux(Ubuntu8)/Windows(XP)+JDK6/J2EE5(包括JDK6)+Ant1.7+Tomcat6.0+UltraEdit/EditPlus(java、javac、ant工具配置)
(这些安装和配置在本人的blog中有详细介绍的文章)
http://struts.apache.org/download.cgi#Struts206
下载Full Distribution:
* struts-2.0.11.1-all.zip (86mb) [PGP] [MD5]
并解压
问题:实现用户登录,并判断是否登录成功
解决方案:
----------------------------------------------------------
第一:手动建立项目结构(类似于MyEclipse创建Web Pro项目的后台操作)
1、新建文件夹结构如下:
Struts2t
|______WEB-INF
|_______classes
|_______src
|_______lib
2、复制Tomcat里conf文件夹里的web.xml到WEB-INF文件夹下,并修改web.xml文件
web.xml文件:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
</web-app>
3、将刚才下载解压后Struts2下的lib文件夹里
commons-logging-1.0.4.jar
freemarker-2.3.8.jar
ognl-2.6.11.jar
struts2-core-2.0.11.1.jar
xwork-2.0.4.jar
拷贝到Struts2t下lib文件夹里。
4、找到Strust2里src\apps\showcase\src\main\resources(就是解压后里面的实例)的struts.xml文件复制到Struts2t下classes文件夹下,并修改struts.xml文件
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>
</struts>
5、新建并手写一个build.xml(必须已经安装了Ant工具),并将build.xml放置到WEB-INF文件夹下 (MyEclipse内置了Ant)
build.xml文件:
<?xml version="1.0"?>
<project name="struts" basedir="." default="">
<path id="classpath">
<fileset dir="lib">
<include name="*.jar"/>
</fileset>
<pathelement path="."/>
</path>
<target name="compile" description="Compile all source code">
<javac destdir="classes" debug="true"
deprecation="false" optimize="false" failonerror="true">
<src path="src"/>
<classpath refid="classpath"/>
</javac>
</target>
</project>
总结:目录结构如下
Struts2t
|______WEB-INF
|_______classes
|______struts.xml
|_______src
|_______lib
|_______
commons-logging-1.0.4.jar
|_______
freemarker-2.3.8.jar
|_______
ognl-2.6.11.jar
|_______
struts2-core-2.0.11.1.jar
|_______
xwork-2.0.4.jar
|_______web.xml
|_______build.xml
----------------------------------------------------------
第二:编写核心代码
1、Struts2核心就是控制器,为Struts2添加核心Filter配置在web.xml文件中(拦截所有Web请求并由FilterDispatcher初始化)
web.xml文件:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<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>
</web-app>
2、编写表现层login.jsp、seccess.jsp、failure.jsp和error.jsp页面并放在与WEB-INF同一级目录下。
login.jsp文件:
<%@ page language="java" contentType="text/html; charset=GBK" %>
<html>
<head>
<title>欢迎登录</title>
</head>
<body>
<form action="Login.action" method="post">
<table align="center">
<caption><h1>欢迎登录</h1></caption>
<tr>
<td>用户名:<input type="text" name="username" /></td>
</tr>
<tr>
<td>密码:<input type="password" name="password" /></td>
</tr>
<tr align="center">
<td colspan="2">
<input type="submit" value="登录" />
<input type="reset" value="重填" />
</td>
</tr>
</table>
</form>
</body>
</html>
success.jsp文件:
<%@ page language="java" contentType="text/html; charset=GBK"%>
<html>
<head>
<title>成功</title>
</head>
<body>
您已经登录!
</body>
</html>
failure.jsp文件:
<%@ page language="java" contentType="text/html; charset=GBK"%>
<html>
<head>
<title>失败</title>
</head>
<body>
您登录失败!
</body>
</html>
error.jsp文件:
<%@ page language="java" contentType="text/html; charset=GBK"%>
<html>
<head>
<title>异常</title>
</head>
<body>
出现异常...
</body>
</html>
3、编写POJO(Action)在src下新建文件夹org,在org下新建文件夹jee(这里是建立包名),并新建接口MyAction.java和实现类LoginAction.java放置在src/org/jee文件夹下。
MyAction.java文件:
package org.jee;
interface MyAction{
public static final String SUCCESS = "success" ;
public static final String FAILURE = "failure" ;
public static final String NONE = "none" ;
public static final String ERROR = "error" ;
public static final String INPUT = "input" ;
public static final String LOGIN = "login" ;
public String execute() ;
}
LoginAction.java文件:
package org.jee;
public class LoginAction implements MyAction{
// 下面是Action内用于封装用户请求参数的连个属性
private String username ;
private String password ;
public String getUsername(){
return username ;
}
public void setUsername(String username){
this.username = username ;
}
public String getPassword(){
return password ;
}
public void setPassword(){
this.password = password ;
}
// 处理请求的execute方法
public String execute(){
try{
if (getUsername().equals("scott") && getPassword().equals("tiger")){
return "SUCCESS" ;
}
else{
return "FAILURE" ;
}
}
catch(Exception e){
e.printStackTrace() ;
return "ERROR" ;
}
}
}
4、在struts.xml里配置Action,修改classes文件
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>
<!-- Struts2的Action必须放在指定的包空间下定义-->
<package name="struts2t" extends="struts-default">
<-- 处理Login.action的请求,实现类为org.jee.LoginAction -->
<action name="Login" class="org.jee.LoginAction">
<-- 定义处理结果和资源之间映射关系 -->
<result name="ERROR">/error.jsp</result>
<result name="SUCCESS">/success.jsp</result>
</action>
</package>
</struts>
5、将Struts2t整个文件夹拷贝到Tomcat/webapps文件夹下
总结:目录结构如下
Struts2t
|______WEB-INF
|_______classes
|______org
|_____jee
|______MyAction.java
|______LoginAction.java
|______struts.xml
|_______src
|______org
|_____jee
|______MyAction.java
|______LoginAction.java
|_______lib
|_______
commons-logging-1.0.4.jar
|_______
freemarker-2.3.8.jar
|_______
ognl-2.6.11.jar
|_______
struts2-core-2.0.11.1.jar
|_______
xwork-2.0.4.jar
|_______web.xml
|_______build.xml
|______login.jsp
|______success.jsp
|______failure.jsp
|______error.jsp
----------------------------------------------------------
三、测试
1、启动Tomcat6
2、http://localhost:8080/struts2 (进行测试)
3、
2008-5-27 15:48:23 org.apache.struts2.config.Settings getLocale
警告: Settings: Could not parse struts.locale setting, substituting default VM locale
解决方法:创建struts.properties这个文件,放在src目录下就可以了
struts.properties文件:
struts.locale=en_GB
分享到:
相关推荐
`struts2-mailreader-2.0.1.war` 是一个模拟邮件阅读器的实例,展示了Struts2处理表单数据、文件上传、用户认证和授权的使用。它可以帮助开发者理解如何在Struts2中实现用户交互和数据管理。 3. **Struts2 Portlet...
本实例将向您展示如何在MyEclipse环境中搭建并运行一个基础的Struts2项目。 首先,我们需要了解Struts2的基本架构。Struts2的核心组件包括Action类、配置文件(struts.xml)、拦截器(Interceptors)和结果类型(Results...
本实例“最简单的Struts实例”旨在为初学者提供一个快速入门的实践教程。 首先,让我们理解Struts框架的基本组成部分: 1. **模型(Model)**:模型层是业务逻辑的载体,通常由JavaBeans或POJO(Plain Old Java ...
总结来说,"最简单的Struts实例"是一个适合初学者的实践项目,通过它你可以了解Struts框架的基本工作原理,学习如何在MyEclipse中配置和运行Struts应用,同时掌握MVC模式在实际开发中的运用。这将对你进一步深入Java...
在文件名称列表“Struts2TSGL”中,“TSGL”可能是“系统管理”的拼音缩写,暗示这个实例代码可能是一个简单的系统管理模块,包含了用户登录和数据列表展示的功能。这个模块可能会涉及用户认证、权限控制、数据检索...
在本实例中,我们将使用Eclipse IDE而非MyEclipse来创建一个简单的Struts项目。 首先,确保你已经安装了Eclipse 3.3版本或更高,这是开发Java Web项目的必备工具。为了支持Web开发,你需要安装Web Tools Platform ...
在学习Struts2框架时,通常会从最简单的“Hello World”实例开始。这种实例不仅可以帮助初学者快速上手,还能让大家对Struts2的工作原理有一个基本的理解。本章将详细介绍如何在glassfish2应用服务器上构建一个简单...
在本文中,我们将深入探讨如何在Eclipse环境中创建一个简单的Struts应用实例,结合`validator`验证和资源文件的使用。我们将逐步介绍每个步骤,确保您能够理解并成功实现这个Struts1.39版本的示例。 首先,我们需要...
通过这个简单的实例,你已经了解了Struts2的基本工作流程:用户发送请求,Struts2拦截请求并根据配置找到对应的Action,执行Action中的方法,最后将结果转发到相应的JSP页面。随着深入学习,你会发现Struts2还支持...
在这个“最简单的struts2文件”中,我们可以找到构建一个基本Struts2应用所需的组件和配置。下面将详细解释Struts2的核心概念和关键组成部分。 1. **Action类**: 在Struts2中,业务逻辑主要由Action类执行。...
3. **Plug-in架构**:Struts2的插件机制使得扩展和定制框架功能变得简单,例如,可以通过插件添加新的拦截器、结果类型等。 4. **Exception Handling**:Struts2提供了优雅的异常处理机制,可以配置全局或Action...
这个“Struts2 增删改查实例”是一个非常适合初学者的实践项目,它将帮助你理解如何在实际应用中使用Struts2来实现基本的数据操作功能。 首先,Struts2的核心组件包括Action类、配置文件(struts.xml)、拦截器...
现在,你已经创建了一个简单的Struts2登录实例。当用户提交表单时,请求会被FilterDispatcher捕获,然后路由到`Struts.java`中的`execute()`方法。根据`execute()`的返回值,Struts2会决定展示`Success.jsp`(如果...
本实例将深入探讨如何在指定的开发环境中搭建一个简单的Struts2应用,包括所需的配置、动作类、结果视图以及如何在MyEclipse6.5中进行开发。 首先,确保你已安装了JDK 6.03,这是运行Struts2应用程序的基础。Java ...
在这个"struts2 jqurey ajax简单实例"中,我们将探讨如何将这三个技术结合,以实现一个动态且高效的Web应用。 首先,Struts2中的Action类是业务逻辑的核心。当你在页面上触发一个事件,比如点击一个按钮,这个事件...
本教程将详细介绍如何在Eclipse集成开发环境中创建一个最简单的Struts2项目。 首先,我们需要确保Eclipse环境已经安装了必要的插件,如Dynamic Web Project支持和Tomcat服务器。对于Tomcat,你需要下载对应版本...
本实例将详细讲解如何使用Struts2实现一个简单的登录功能,这对于初学者来说是学习框架基础知识的好方式。 首先,我们需要在项目中引入Struts2的核心库。这通常通过在`pom.xml`(如果你的项目是Maven项目)或`build...
5、最简单的Struts程序; 6、Struts单选框的实现; 7、Struts复选框的实现; 8、Struts下拉框的实现; 9、如何实现Struts 数据库应用程序; 10、如何在Struts 数据库应用程序中实现分页显示; ...