/eduplus
11:51:03,968 ERROR Dispatcher:515 - Could not find action or result
There is no Action mapped for namespace /jw and action name myScore. - [unknown location]
at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:186)
at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:41)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:497)
at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:421)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:99)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.sudytech.eduplus.base.BaseFilter.doFilter(BaseFilter.java:85)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:864)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1665)
at java.lang.Thread.run(Thread.java:619)dofilter/**
* 所有action和jsp都需要配置此filter进行拦截,用于设置编码和线程环境
*
* @author jzhou
*
*/
public class BaseFilter extends HttpServlet implements Filter {
private FilterConfig filterConfig;
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filterChain) throws IOException, ServletException {
//request.setCharacterEncoding("UTF-8");
//filterChain.doFilter(request, response);
boolean dofilter = false;
boolean doclear = false;
try {
request.setCharacterEncoding("UTF-8");
String uri = ((javax.servlet.http.HttpServletRequest) request).getRequestURI(); if (uri.indexOf("/errorx.jsp") > -1 || uri.indexOf("/error.jsp") > -1) {
dofilter = true;
doclear = false;
} else {
String errorInfo = "";
//System.out.println("process ThreadLocal ...");
if (EduplusContext.getTreadLocalMap() != null && EduplusContext.getTreadLocalMap().size() > 0) {
System.out.println("threadLocal不为空!");
doclear = false;
dofilter = true;
} else {
doclear = true;
if (uri.indexOf("/login.jsp") != -1) {// 如果是登录页面
String sclId = (String) ConfigReader.getParamValue("web.schoolId");
EduplusContext.setSchoolId(sclId);
} else if (request.getParameter("sclId") == null) {
errorInfo = "缺少学校Id参数!";
}
if (!errorInfo.equals("")) {
dofilter = false;
request.setAttribute("sclId", EduplusContext.getSchoolId());
request.setAttribute("error", errorInfo);
request.getRequestDispatcher("/errorx.jsp").forward(request, response);
} else {
dofilter = true;
if (EduplusContext.getSchoolId() == 0) {
EduplusContext.setSchoolId(request.getParameter("sclId"));
}
EduplusContext.setRequest((HttpServletRequest) request);
EduplusContext.setResponse((HttpServletResponse) response);
EduplusContext.setSession(((HttpServletRequest) request).getSession(true));
EduplusContext.setServletContext(this.filterConfig.getServletContext());
SSOUser ssoUser = EduplusContext.getCurrentUser();
if (null == ssoUser) {
IEDUSSOService ssoService = com.sudytech.eduplus.ids.factory.SSOServiceFactory
.getInstance().createSSOService();
if (null != ssoService) {
ssoUser = ssoService.getCurrentUser();
}
EduplusContext.setCurrentUser(ssoUser);
}
}
}
}
if (dofilter) {
System.out.println(((HttpServletRequest)request).getContextPath());
filterChain.doFilter(request, response); }
} catch (Exception e) {
System.out.println("JspFilter发生异常" + e.getMessage()); } finally {
if (doclear) {
EduplusContext.clearThreadLocal();
}
} }执行红色标记就报错
地址是:jw/myScore.do
<?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="jw" extends="struts-default" namespace="/jw">
<!-- 我的成绩查询 -->
<action name="myScore" class="score" method="myCourceScore">
<result name="success">/jw/cjgl/wdcj.jsp</result>
</action>
</package>
</struts> <bean id="score" class="com.sudytech.eduplus.jw.action.score.score.MyCourseAction"
scope="prototype">
</bean>
11:51:03,968 ERROR Dispatcher:515 - Could not find action or result
There is no Action mapped for namespace /jw and action name myScore. - [unknown location]
at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:186)
at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:41)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:497)
at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:421)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:99)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.sudytech.eduplus.base.BaseFilter.doFilter(BaseFilter.java:85)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:864)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1665)
at java.lang.Thread.run(Thread.java:619)dofilter/**
* 所有action和jsp都需要配置此filter进行拦截,用于设置编码和线程环境
*
* @author jzhou
*
*/
public class BaseFilter extends HttpServlet implements Filter {
private FilterConfig filterConfig;
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filterChain) throws IOException, ServletException {
//request.setCharacterEncoding("UTF-8");
//filterChain.doFilter(request, response);
boolean dofilter = false;
boolean doclear = false;
try {
request.setCharacterEncoding("UTF-8");
String uri = ((javax.servlet.http.HttpServletRequest) request).getRequestURI(); if (uri.indexOf("/errorx.jsp") > -1 || uri.indexOf("/error.jsp") > -1) {
dofilter = true;
doclear = false;
} else {
String errorInfo = "";
//System.out.println("process ThreadLocal ...");
if (EduplusContext.getTreadLocalMap() != null && EduplusContext.getTreadLocalMap().size() > 0) {
System.out.println("threadLocal不为空!");
doclear = false;
dofilter = true;
} else {
doclear = true;
if (uri.indexOf("/login.jsp") != -1) {// 如果是登录页面
String sclId = (String) ConfigReader.getParamValue("web.schoolId");
EduplusContext.setSchoolId(sclId);
} else if (request.getParameter("sclId") == null) {
errorInfo = "缺少学校Id参数!";
}
if (!errorInfo.equals("")) {
dofilter = false;
request.setAttribute("sclId", EduplusContext.getSchoolId());
request.setAttribute("error", errorInfo);
request.getRequestDispatcher("/errorx.jsp").forward(request, response);
} else {
dofilter = true;
if (EduplusContext.getSchoolId() == 0) {
EduplusContext.setSchoolId(request.getParameter("sclId"));
}
EduplusContext.setRequest((HttpServletRequest) request);
EduplusContext.setResponse((HttpServletResponse) response);
EduplusContext.setSession(((HttpServletRequest) request).getSession(true));
EduplusContext.setServletContext(this.filterConfig.getServletContext());
SSOUser ssoUser = EduplusContext.getCurrentUser();
if (null == ssoUser) {
IEDUSSOService ssoService = com.sudytech.eduplus.ids.factory.SSOServiceFactory
.getInstance().createSSOService();
if (null != ssoService) {
ssoUser = ssoService.getCurrentUser();
}
EduplusContext.setCurrentUser(ssoUser);
}
}
}
}
if (dofilter) {
System.out.println(((HttpServletRequest)request).getContextPath());
filterChain.doFilter(request, response); }
} catch (Exception e) {
System.out.println("JspFilter发生异常" + e.getMessage()); } finally {
if (doclear) {
EduplusContext.clearThreadLocal();
}
} }执行红色标记就报错
地址是:jw/myScore.do
<?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="jw" extends="struts-default" namespace="/jw">
<!-- 我的成绩查询 -->
<action name="myScore" class="score" method="myCourceScore">
<result name="success">/jw/cjgl/wdcj.jsp</result>
</action>
</package>
</struts> <bean id="score" class="com.sudytech.eduplus.jw.action.score.score.MyCourseAction"
scope="prototype">
</bean>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货