SSH框架Struts2.5之后遇到的坑 struts.xml不用通配符没问题,已改成通配符就报异常

本来也就是一个简单的登录的问题,然后我在这突然想用统配符了。然后......

用没用通配符的两个anction如下

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
<package name="default" extends="struts-default" namespace="/">
<!--
<action name="Users_login" class="action.UsersAction" method="login">
<result name="login_success">/users/Users_login_success.jsp</result>
<result name="login_failure">/users/Users_login.jsp</result>
</action>
-->
</package>
<package name="users" namespace="/users" extends="default">
<action name="*_*" class="action.{1}Action" method="{2}">
<result name="login_success">/users/Users_login_success.jsp</result>
<result name="login_failure">/users/Users_login.jsp</result>
</action>
</package>
</struts>
第一个action完美运行,第二个异常是这样的
There is no Action mapped for namespace [/users] and action name [Users_login] associated with context path [/sh_students].

因为struts是2.5版本以后,默认使用strict-method-invocation。。。

所以只需要加一句

<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>
改成
<package strict-method-invocation="false" name="default" namespace="/" extends="struts-default">

这里顺便提一提以前遇到的一种情况,constant标签我当初为了改后缀使用了

<constant name="struts.action.extension" value="html"></constant>
再一次偶然的情况下,把它注释掉,发现又能使用通配符了。
————————————————
版权声明:本文为CSDN博主「you_yyyy」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/you_yyyy/article/details/78047092

原文地址:https://www.cnblogs.com/bkywanly/p/11438032.html

时间: 2024-10-10 03:29:28

SSH框架Struts2.5之后遇到的坑 struts.xml不用通配符没问题,已改成通配符就报异常的相关文章

用MyEclipse搭建SSH框架(Struts2 Spring Hibernate)

1.new一个web project. 2.右键项目,为项目添加Struts支持. 点击Finish.src目录下多了struts.xml配置文件. 3.使用MyEclipse DataBase Explorer建立数据源. new一个数据源.填入数据源信息. 点击test Driver,如果成功显示: 点击OK,点击Finish. 4.为项目添加Spring支持. 选择五个包,之后JAR Library Installation为如下图. 点击Next. 默认点击Finish. 5.为项目添加

SSH框架-Struts2基础-Action

Struts2的目录结构: 解压apps目录下的struts2-blank.war: 仿照这个最基本的项目,拷贝相关文件: 1.拷贝apps/struts2-blank/WEB-INF/classes/struts.xml到我们的项目中的src目录(因为src编译完成后会自动放在classes目录): 2.拷贝类库apps/struts2-blank/WEB-INF/lib/*.jar到自己项目的WebRoot/WEB-INF/lib下. 3.拷贝apps/struts2-blank/WEB-I

ssh框架-Struts2(二)

上篇文章我们了解了怎么配置struts.xml文件,以及前端控制器配置怎么配置,,Action进阶,Result结果配置,Struts2中的Servlet的API的访问,以及怎么获得请求参数.今天我们在深入讲解一下OGNL表达式,OGNL中的符号,和常用的拦截器,标签库 一,OGNL表达式 1.概述 1.1什么是OGNL ? OGNL是Object-Graph Navigation Language的缩写,俗称对象图导航语言. 它是一种功能强大的表达式语言,通过它简单一致的表达式语法,可以存取对

MyEclipse搭建SSH框架 Struts2.1+Spring3.0+hibernate3.3

1.         配置Tomcat 配置Tomcat所在路径 配置Tomcat使用JDK版本 如果Tomcat为7.0则添加Tomcat-juli.jar包 2.         new一个web project. 2.右键项目,为项目添加Struts支持. 点击Finish.src目录下多了struts.xml配置文件. 3.使用MyEclipse DataBase Explorer建立数据源. new一个数据源.填入数据源信息. jdbc:Oracle:thin:@localhost(数

[ SSH框架 ] Struts2框架学习之三(OGNl和ValueStack值栈学习)

一.OGNL概述 1.1 什么是OGNL OGNL的全称是对象图导航语言( object-graph Navigation Language),它是一种功能强大的开源表达式语言,使用这种表达式语言,可以通过某种表达式语法,存取Java对象的任意属性,调用Java对象的方法,同时能够自动实现必要的类型转换.如果把表达式看作是一个带有语义的字符串,那么OGNL无疑成为了这个语义字符串与Java对象之间沟通的桥梁. 1.2 OGNL的作用 Struts2默认的表达式语言就是OGNL,它具有以下特点:

JavaEE SSH框架整合(二) struts2 加载本地dtd文件,action配置

1. 加载struts2的dtd文件,使struts.xml不用联网就能验证,并在eclipse中有提示 在src下创建struts.xml: <?xmlversion="1.0"encoding="UTF-8"?> <!DOCTYPE strutsPUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://strut

【SSH框架】之Struts2系列(一)

微信公众号:compassblog 欢迎关注.转发,互相学习,共同进步! 有任何问题,请后台留言联系 1.Struts2框架概述 (1).什么是Struts2 Struts2是一种基于MVC模式的轻量级web框架,本质上相当于一个servlet.在MVC设计模式中,Struts2作为控制器来建立模型与视图的数据交互,以WebWork为核心,采用拦截器机制来处理用户的请求,使得业务逻辑控制器能够与ServletAPI完全脱离,是致力于组件化和代码重用的J2EE Web框架. (2).Struts2

ssh框架简单搭建

这里是个人对SSH框架搭建的一点心得,仅供新手,勿喷 首先,搞清楚分层, 视图层 --> 控制层  --> 业务层 --> DAO层--> 持久层 搭建的顺序是从后向前,搭建一点测试一点,免得都最后找错误太过于繁琐 先搭建持久层,这里是hibernate框架接管 1.建立javaBean对象(ElecText.jvav)   属于持久层对象(PO对象)   属性ID.名称.日期.备注2.创建映射文件ElecText.hbm.xml   建立PO对象与数据库表Elec_Text的关联

spring+springMvc+struts的SSH框架整合

1.建立一个web项目 2.导入SSH框架所需jar包 3.配置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" xsi:schemaLocation=&