struts2 基础学习
关键字:struts,Error filterStart,java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
1:
http://struts.apache.org/download.cgi#struts206 下载到
Full Distribution:
2:新建项目名称 struts2
3:我jdk 1.6 tomcat apache-tomcat-6.0.16
4:lib 中我放置了 xwork-2.0.5.jar,struts2-core-2.0.11.2.jar,ognl-2.6.11.jar,log4j-1.2.14.jar,commons-logging-1.0.4.jar 这里要注意的是不要将所有刚下载的struts 下的lib全部放置在项目的 lib中。因为struts2的插件概念是如果引入了插件包则在web是要有对应的于之对应的。(还没有理解的很透彻,简单这样说)。
5:我的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">
<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>
6:index.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><h3>用户登录</h3></caption>
<tr>
<td>用户名:<input type="text" name="username" /></td>
</tr>
<tr>
<td>密 码:<input type="text" name="password"/></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="登录" />
<input type="reset" value="重填" />
</td>
</tr>
</table>
</form>
</body>
</html>
7:LoginAction.java内容如下:
package com.test;
public class LoginAction {
private String username;
private String password;
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String execute() throws Exception
{
if(getUsername().equals("scott")&&getPassword().equals("tiger"))
{
return "success";
}
else
return "error";
}
}
8: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="strutsqs" extends="struts-default">
<action name="Login" class="com.test.LoginAction">
<result name="success">/test/welcome.jsp</result>
<result name="error">/test/error.jsp</result>
</action>
</package>
</struts>
9:welcome.jsp
<%@ page language="java" contentType="text/html;charset=GBK" %>
<html>
<head>
<title>登录页面</title>
</head>
<body>
welcome
</body>
</html>
10:error.jsp
<%@ page language="java" contentType="text/html;charset=GBK" %>
<html>
<head>
<title>登录页面</title>
</head>
<body>
error!
</body>
</html>
注意的问题是:
报错1:Error filterStart
我看tomcat log
如下:
严重: Exception starting filter struts2
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at org.apache.struts2.dispatcher.FilterDispatcher.<clinit>(FilterDispatcher.java:149)
我理解是不是struts.dispatcher要调用log4j.jar但是项目没有引用于是加入了log4j.jar
报错2:
严重: Exception starting filter struts2
java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.InterruptedException
这个我不知道什么理由引入了包: commons-logging-1.0.4.jar
总结:我感觉的好处
1:避免程序员每次都一股脑将jar放lib中的坏习惯
2:插件的配置很值得学习和研究,这个思想对组件构架的开发框架很重要
欢迎大家讨论!
分享到:
相关推荐
在这个“struts2连接mysql数据库登录验证程序”中,我们主要探讨以下几个关键知识点: 1. **Struts2框架**:Struts2作为MVC设计模式的实现,负责处理HTTP请求,通过Action类将用户请求映射到业务逻辑,并将结果传递...
通过以上步骤,我们可以构建一个基本的Struts2登录验证系统。不过,实际项目中可能会更复杂,需要考虑多因素认证、密码加密存储、会话超时、记住我功能、以及前后端分离等更多细节。同时,随着技术的发展,现在的...
Struts2、jQuery和Ajax是Web开发中的三大关键技术,它们结合使用可以构建高效、动态且用户友好的登录验证系统。以下是对这些技术及其在登录验证中的应用的详细说明。 Struts2是一个基于MVC(Model-View-Controller...
总的来说,通过这个简单的Struts2登录验证项目,我们可以学习到如何使用Struts2框架进行动作映射、数据校验、业务逻辑处理以及与视图层的交互。这仅仅是Struts2功能的一个冰山一角,随着对框架的深入理解,我们可以...
在这个“Struts2登录验证实例”中,我们将探讨如何利用Struts2实现用户登录功能,包括用户输入验证、会话管理以及错误处理等关键环节。 首先,我们需要在项目中引入Struts2的核心库。这通常通过在`pom.xml`(如果...
Struts2 验证框架详解 Struts2 验证框架是基于 Java 语言的 Web 应用程序框架,提供了一个强大的验证机制,以确保用户输入的数据满足业务逻辑的要求。在 Struts2 中,验证机制是通过 validator 来实现的,该机制...
用户登录验证,struts 2实例教程,一步步教你如何实现一个示例
在Struts2中,表单验证是非常重要的一个环节,它确保了用户输入的数据符合预设的规则,从而保证了应用程序的数据质量和安全性。本示例主要讲解的是使用XML文件进行表单验证的方法。 首先,让我们理解表单验证的基本...
这个"struts2简单的登陆验证"项目是一个基础入门级别的教程,适合初学者学习理解Struts2的核心概念和工作原理。 在Struts2中,登陆验证是常见的功能,涉及到用户身份的确认和权限控制。下面我们将详细探讨Struts2...
总结来说,Struts2提供了完善的框架和工具,使得开发登录注册功能变得容易,同时通过验证机制保证了数据的准确性和安全性。通过学习和实践这个主题,开发者可以掌握Struts2的核心概念和实际操作,提升在企业级应用...
Struts2是一个流行的Java web开发框架,其在处理用户表单数据时提供了强大的验证功能,确保输入的数据符合预期的格式和规则。本文将深入探讨Struts2的表单验证机制。 首先,Struts2的输入验证分为两种方式:手动...
登录验证是Web应用中常见的安全需求,Struts2通过拦截器可以实现对用户登录状态的有效控制。 在Struts2中,拦截器可以分为手动验证和自动验证两种方式。手动验证通常由开发者编写代码来检查用户是否已登录,如果未...
一个简单的例子是使用`$.ajax()`函数,指定URL为Struts2 Action的路径,方法为GET或POST,根据你的需求来传递参数,如待验证的用户名。 3. **服务器端验证**:在Action类中,你需要编写一个方法来检查用户名是否已...
在本案例中,我们将深入探讨如何使用Struts2拦截器实现登录权限验证,同时结合Servlet Filter进一步加强安全性。 首先,让我们理解Struts2拦截器的工作原理。拦截器是基于AOP(面向切面编程)的概念设计的,它们...
在"struts2_1.7_validator"这个压缩包中,可能包含了实现Struts2用户登录验证的示例代码。 Struts2的Validator框架是基于Apache Commons BeanUtils和Apache Commons DBCP的,它可以自动将表单字段映射到Action类的...
"Apache+Struts2验证"这个话题涉及到的是针对Apache Struts2框架的安全漏洞检测,特别是S2-053漏洞。 S2-053漏洞全称为"Struts2 REST Plugin远程代码执行",是Apache Struts2框架中的一个严重安全缺陷。该漏洞主要...
在深入探讨Struts2验证框架参数之前,我们首先简要回顾一下Struts2框架本身。Struts2是基于MVC(Model-View-Controller)设计模式的Java Web应用框架,它提供了一种灵活的方式来构建可扩展的企业级Web应用程序。...
在登录验证系统中,Struts主要负责处理用户请求,调度控制流程,并将数据传递给模型和视图。控制器(Action)类会解析用户的登录请求,执行相应的业务逻辑,并根据结果返回不同的视图。 **Hibernate ORM** ...
本教程将详细讲解如何使用MyEclipse结合Struts2实现登录验证功能。 首先,我们需要了解Struts2的基本架构。Struts2基于Model-View-Controller模式,它通过Action类处理用户请求,并通过配置文件(struts.xml)定义...