這個問題困擾了一個下午,晚上在網上找了一些Struts入門教程看了一下,才發現問題關鍵,是因為我Struts.xml配置不對的緣故。我原來的Struts.xml代碼如下:
xml version="1.0" encoding="UTF-8" ?>DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">struts> package name="Struts2" extends="struts-default"> action name="query" class="chapter7.action.QueryAction"> result name="result">/result.jspresult> result name="error">/error.jspresult> action>package>struts>
需要將上面的代碼改成如下代碼:
xml version="1.0" encoding="UTF-8" ?>DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">struts> package name="Struts2" namespace="/" extends="struts-default"> action name="query" class="chapter7.action.QueryAction"> result name="result">/result.jspresult> result name="error">/error.jspresult> action>package>struts>
即 namespace="/" extends="struts-default">。
action介面是通過 http://localhost:8080/StrutsTest1/query.action 來訪問的。如果這裡namespace改為namespace="/hello" ,則action介面的訪問地址應該改為 http://localhost:8080/StrutsTest1/hello/query.action