ssh框架下java.lang.IllegalStateException: No Scope registered for scope 'protoscope

Charles_k Charles_k 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
这是我的完整报错
HTTP Status 500 – Internal Server Error
Type Exception Report

Message Unable to instantiate Action, bookBorrowAction, defined for 'borrowBookAction' in namespace '/'Error creating bean with name 'bookBorrowAction': Injection of resource dependencies failed; nested exception is java.lang.IllegalStateException: No Scope registered for scope 'protoscope'

Description The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception

Unable to instantiate Action, bookBorrowAction, defined for 'borrowBookAction' in namespace '/'Error creating bean with name 'bookBorrowAction': Injection of resource dependencies failed; nested exception is java.lang.IllegalStateException: No Scope registered for scope 'protoscope'
com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:319)
com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:400)
com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:194)
org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:63)
org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:500)
org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
Root Cause


Root Cause

java.lang.IllegalStateException: No Scope registered for scope 'protoscope'
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:325)
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:442)
org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:416)
org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:549)
org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:150)
org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)
org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessPropertyValues(CommonAnnotationBeanPostProcessor.java:303)
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1106)
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:313)
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1093)
com.opensymphony.xwork2.spring.SpringObjectFactory.buildBean(SpringObjectFactory.java:151)
com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:150)
com.opensymphony.xwork2.ObjectFactory.buildAction(ObjectFactory.java:120)
com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:300)
com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:400)
com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:194)
org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:63)
org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:500)
org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
Note The full stack trace of the root cause is available in the server logs.

Apache Tomcat/9.0.6

jsp页面


<%--
Created by IntelliJ IDEA.
User: lenovo
Date: 2018/6/13
Time: 21:54
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" language="java" %>

<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>图书搜索</title>
</head>
<body>

<h1>hello ,${user.username}</h1>


<h3>图书搜索:</h3>
<form action="selectBook" method="post">
书名:<input type="text" name="book.name" ><br/>

作者:<input type="text" name="book.author" > <br/>
出版社:<input type="text" name="book.publisher" ><br/>
<input type="submit" value="查询">
<input type="reset" value="重置">
<br/>

</form>


<h3>搜索结果:</h3>

<div style="margin:0px auto; width:500px">
<table cellspacing="0" border="1" width="100%">
<tr >
<td>借书</td>
<td >图书存储序号</td>
<td>图书编号</td>
<td>书名</td>
<td>作者</td>
<td>图书类型</td>
<td>出版社</td>
<td>库存总数量</td>
<td>借出数量</td>
<td>书籍信息</td>
<td>单价</td>
</tr>

<s:iterator value="%{books}" var="p">

<tr>
<td><a href="borrowBookAction?borrowinfo.bookid=${p.bookid}&&borrowinfo.username=${user.username}" >借书</a> </td>

<td>${p.id} </td>
<td>${p.bookid}</td>
<td>${p.name}</td>
<td>${p.author}</td>
<td>${p.type}</td>
<td>${p.publisher}</td>
<td>${p.allmount}</td>
<td>${p.mount}</td>
<td>${p.remark}</td>
<td>${p.price}</td>
</tr>
</s:iterator>
</table>
</div>


</body>
</html>



struts.xml配置

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>

<constant name="struts.devMode" value="false"/>
<constant name="struts.objectFactory" value="spring" />

<package name="user" namespace="/" extends="struts-default">

<action name="user_*" class="userAction" method="{1}">
<result name="success">/success.jsp</result>
<result name="editUserAction">/editUser.jsp</result>
<result name="error">/error.jsp</result>
</action>

<action name="register" class="userRegisterAction" method="register">
<result name="success" >/index.jsp</result>
<result name="error">/error.jsp</result>
</action>

<action name="*Book" class="BookAction" method="{1}">
<result name="success">showBookResult.jsp</result>
<result name ="listBook" >showBookResult.jsp</result>
<result name="listBookAction" type="chain">listBook</result>
</action>

<action name="borrowBookAction" class="bookBorrowAction" method="borrow">
<result name="success">
showBookResult.jsp
</result>
<result name="error">error.jsp</result>
</action>


</package>
</struts>


action

package com.kevin.action;


import com.kevin.entity.Borrowinfo;
import com.kevin.service.BorrowinfoService;
import com.opensymphony.xwork2.ActionSupport;

import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

import javax.annotation.Resource;


@Scope("prototype")
@Controller("bookBorrowAction")

public class BookBorrowAction extends ActionSupport{
@Resource
private BorrowinfoService borrowinfoService;

private Borrowinfo borrowinfo;

public Borrowinfo getBorrowinfo() {
return borrowinfo;
}

public void setBorrowinfo(Borrowinfo borrowinfo) {
System.out.println("ba132146");
this.borrowinfo = borrowinfo;
}

public String borrow()
{
System.out.println("bab132146");
if(borrowinfoService.add(borrowinfo).equals(SUCCESS))
{
System.out.println("bab132147");
return SUCCESS;
}
else return ERROR;
}


}





点击借书功能,就直接报错
...全文

相关推荐

高校技术转移办公室人员在推广科技成果时,如何解决技术推介材料制作繁琐、缺乏专业性的问题?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

BIZKEEN

利用 MATLAB 仿真均匀平面波极化的传播图像(线极化,圆极化).zip

1.版本:matlab2014a/2019b/2024b 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

海神之光

产业园区运营如何通过智能手段精准匹配产业需求与技术供给?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

BIZKEEN

政府科技管理者在推动科技成果转化过程中,如何有效解决供需信息匹配不精准的问题?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

BIZKEEN

网店开设与管理实训(第2版)PPT课件+练习

网店开设与管理实训(第2版)PPT课件+练习

Bryan Ding
评论 3
收藏 已收藏
分享
返回顶部
Charles_k
Java EE 67,535 成员 225,843 内容