`
tangyuan1314
  • 浏览: 39657 次
  • 性别: Icon_minigender_2
  • 来自: 南京
社区版块
存档分类
最新评论

初学struts碰到的问题

阅读更多

初次使用struts,碰到了一些小问题。首先先说一下怎样为web应用增加struts支持。

1、就是要下载Struts2了,下载好了就把核心类库(jar包)增加到web应用中,即将lib下的struts2-core-2.1.8.jar、xwork-2.1.6.jar、freemarker-2.3.16.jar、ognl-2.7.3.jar等复制到web应用(就是你的项目啦)的lib路径下。

2、在web.xml里配置struts的核心filter了

这么简单就ok了,下面就写了个例子来测试一下

1、先写一个登录页面login.jsp,提交表单给指定的action,其中s是标签,body里是用struts2标签库定义的一个表单和三个简单的表单域

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
  </head>
  
  <body>
    <s:form action="login" method="post">
      <s:textfield name="username" key="user"/>
      <s:textfield name="password" key="pass"/>
      <s:submit key="login"/>
    </s:form>
  </body>
</html>

 2、login.jsp页面指定了表单的action为login,因此要定义一个struts2 的action,action通常继承ActionSupport基类,下面是lee.LoginAction.java

package lee;

import com.opensymphony.xwork2.ActionContext;

public class LoginAction {
    private String username;
    private String password;
    
	public void setUsername(String username) {
		this.username = username;
	}
	public String getUsername() {
		return username;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public String getPassword() {
		return password;
	}
    
	public String execute() throws Exception{
		if(getUsername().equals("wang")&&getPassword().equals("123")){
			ActionContext.getContext().getSession().put("user", getUsername());
			return "success";
		}
		else {
			return "error";
		}
	}
    
}

 代码里定义封装请求参数的uername和password属性,其中execute就是处理客户请求的方法,即只要登录名为wang,密码为123就登陆成功,返回success,否则返回error

3、写好了1和2,怎么样让其对应起来呢,在没有学spring管理struts的action之前,是在struts的配置文件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>

	<!-- 是否显示详细错误信息 -->
	<constant name="struts.devMode" value="true" />
	<!-- 国际化资源文件名称 -->
	<constant name="struts.custom.i18n.resources" value="i18n" />
	<!-- 是否自动加载国际化资源文件  -->
	<constant name="struts.i18n.reload" value="false" />
    <!-- 所有的Action都应该定义在package下 -->
    <package name="lee" extends="struts-default">
      <action name="login" class="lee.LoginAction">
      <!-- 定义3个逻辑视图和物理资源之间的映射 -->
      <result name="error">/index.jsp</result>
      <result name="success">/success.jsp</result>
      </action>
      </package>
</struts>

 这样,这个测试就写好了,部署后,浏览login.jsp页面(http://localhost:8880/strutsdemo/login.jsp)

 

 

下面是测试当中出现的一些问题

1、Unable to load configuration. - bean - jar:file:

这个是struts有个jar包没放进去,就是commons-logging-1.1.1.jar,导进去就ok了

2、

There is no Action mapped for namespace / and action name login. - [unknown location]

有经验的就知道,这个是因为没有找到映射的action 空间名或者 没有找到匹配的 action名。 出现这样的问题,一般是因为没有加载 配置文件引起的。

果然。在布署的工程目录classes下,没有找到 struts.xml。

一般而言,对于没有经验的程序员来说,习惯用于集成IDE。以为在IDE里面的文件,理所当然的会把各种文件布署在对应的目录下。但往往有些时候,它也偶尔会发发脾气,不听使唤的。^-^ 在其他的时候,也会因为使用IDE造成这样或者那样的错误。所以还是要自己明白,整个运行流程。然后一步一步的去排查。

分享到:
评论

相关推荐

    MyEclipse8下struts2简单例子,有说明。适于初学struts2者

    Struts2是一个强大的MVC(模型-视图-控制器)框架,它在Java Web开发中广泛应用,极大地简化了企业级应用的构建。...实践中遇到问题,可以参照说明文件,也可以查阅Struts2的官方文档和在线资源,以获得更深入的理解。

    初学者struts的程序

    在学习Struts的过程中,你可能会遇到以下几个步骤: 1. 安装和配置:确保你的开发环境支持Struts,例如安装Apache Tomcat服务器,配置好JDK,并将Struts库添加到项目的类路径中。 2. 创建Struts项目:创建一个新的...

    struts常见问题列表

    在使用Struts的过程中,初学者可能会遇到各种各样的问题,这些问题往往与异常处理密切相关。以下是一些关于Struts框架中常见的问题及其解决方案: 1. **ActionServlet配置问题**:如果在web.xml文件中没有正确配置...

    第一个Struts2程序中遇到的若干问题及解决方法

    在初学者尝试创建第一个Struts2程序时,可能会遇到一些常见问题。这篇博客将探讨这些问题并提供解决方案。 首先,配置问题是新手经常遇到的挑战。在搭建Struts2环境时,确保正确地在`web.xml`文件中配置了Struts2的...

    Migrating From Struts1 To Struts2

    - **社区支持**:尽管WebWork/Struts2社区相比Struts1小,但依然活跃并持续贡献新功能和修复问题。 #### 从Struts1到Struts2的迁移步骤 1. **评估现有系统**:首先,对现有的Struts1项目进行全面评估,了解当前系统...

    适合初学者的一个简单的struts2例子

    10. **异常处理**:Struts2提供了一种全局的异常处理机制,可以在`struts.xml`中配置,使得程序在遇到错误时能返回合适的错误页面。 通过这个简单的Struts2例子,初学者可以逐步了解和掌握上述知识点,为后续深入...

    struts2项目部署

    8. **错误排查**:如果遇到问题,检查服务器日志(通常在`logs`目录下)以获取错误信息。此外,确保Struts2的JAR文件和所有依赖都在`lib`目录下,并已被正确引入。 9. **测试**:通过访问不同的URL来测试Action是否...

    初学java学习过程遇到的一些问题

    在 Java 学习过程中,开发者经常会遇到一些问题和错误,这些问题可能会阻碍学习和开发的进度。因此,了解这些问题和解决方案对 Java 开发者非常重要。 一、Maven 运行环境问题 在使用 Maven 运行 Java 项目时,...

    Hibernate和struts中遇到的问题.doc

    在实际开发中,可能会遇到各种问题,下面将针对题目中提到的一些具体问题进行详细解答。 1. **Hibernate配置问题**: 当插入数据不成功时,通常需要检查Hibernate的配置文件`hibernate.cfg.xml`。在这个例子中,...

    Struts教程大全

    Struts是Java Web开发中的一个流行框架,它主要用于构建基于MVC(模型-视图-控制器)模式的应用程序。这个“Struts教程大全”压缩包包含了一系列的学习资源,旨在...而实战指导则可以帮助解决实际开发中遇到的问题。

    解决MyEclipse下开发Struts异常:org.apache.struts.taglib.bean.CookieTei.doc 下载

    在本篇文章中,我们将深入探讨如何解决在MyEclipse环境下开发Struts应用时遇到的一个常见问题:“org.apache.jasper.JasperException: Failed to load or instantiate TagExtraInfo class: org.apache.struts.taglib...

    struts-menu集成struts2.3.1例子以及注意的地方

    6. **注意事项**:集成过程中可能会遇到的问题包括版本兼容性、资源加载问题、权限控制等。确保所有的配置都正确无误,避免因为路径问题导致菜单无法正常显示。 在实际应用中,可能还需要考虑菜单的动态更新、国际...

    Struts2入门demo

    8. **异常处理**:Struts2允许定义全局或Action级别的异常处理策略,确保程序在遇到错误时能优雅地处理并展示给用户。 9. **国际化(i18n)**:Struts2支持多语言,通过资源文件(如`messages.properties`)可以...

    struts 中遇到的常见问题 解决,你还在痛苦中吗

    在学习和使用 Struts 框架的过程中,尤其是对于初学者来说,经常会遇到一些常见的问题,这些问题可能会导致程序无法正常运行或者出现各种错误提示。本文将针对其中一种常见的错误提示:“There is no Action mapped ...

    struts1.3 jar包

    - **学习曲线**:由于其丰富的功能,初学者可能需要花费更多时间来理解和掌握Struts 1.3的使用。 随着技术的发展,Struts 1.3逐渐被更新的Struts 2和其他现代化框架如Spring Boot所取代。不过,对于一些仍在使用...

    helloWorld-struts2.0.14.rar

    Struts2是一个强大的Java web应用程序框架,用于构建和部署企业级...实践中遇到的问题和解决过程,将是加深理解的最佳途径。在探索这个示例的过程中,建议结合官方文档和其他教程资源,以便更好地理解和应用这些概念。

    struts2.3.3运行配置

    如果遇到问题,可以尝试添加其他的 commons 开头的库来解决问题。 5. **配置 struts.xml 文件**:struts.xml 是 Struts2 的配置文件,定义了应用程序的行为。例如,下面展示了如何配置一个简单的登录页面: ```...

    Struts2-api

    Struts2是一个强大的Java web应用程序框架,它基于MVC(Model-View-Controller)设计...对于初学者而言,`Struts2-docs`文档是一个不可多得的学习资源,它可以帮助开发者快速掌握Struts2框架并解决开发中遇到的问题。

    struts1.3用户指南

    Struts1.3是Apache软件基金会的Jakarta项目下的一个开源框架,主要...指南中可能包含各种实例和步骤,帮助读者逐步掌握框架的使用方法,解决实际开发中遇到的问题。无论是初学者还是有经验的开发者,都可以从中受益。

Global site tag (gtag.js) - Google Analytics