就是用eclipse+tomcat+struts做的一个东西:页面上上方有个三列的表格,用户可以输入,结果会保存到数据库中。页面下方会列出数据库中的记录,用户可以删除和查找等。
写了个ShowAttackSolutionAction用于显示记录,放在了skin.struts.action目录下。
struts-config.xml中相关的如下:
...
<data-sources>
<data-source key="mysql" type="org.apache.commons.dbcp.BasicDataSource">
<set-property property="sutoCommit" value="true"/>
<set-property property="driverClassName" value="com.mysql.jdbc.Driver"/>
<set-property property="url" value="jdbc:mysql://localhost:3306/test"/>
<set-property property="maxCount" value="10"/>
<set-property property="minCount" value="1"/>
<set-property property="username" value="root"/>
<set-property property="password" value="root"/>
</data-source>
</data-sources>
...
<form-bean
name="attackSolutionActionForm"
type="skin.struts.form.AttackSolutionActionForm" />
...
<action path="/ShowAttackSolutionAction"
type="skin.struts.action.ShowAttackSolutionAction">
<forward name="success" path="/showAttackSolution.jsp" />
</action>
...
<message-resources parameter="resources.application" />
...
web.xml相关代码如下:
...
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- Standard Action Servlet Mapping -->
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
...
一个进入的jsp代码如下:
<%@ page contentType="text/html; charset=gb2312" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<a href="ShowAttackSolutionAction.do">
<bean:message key="message.attacksolutionDB"/>
</a>
struts-config.xml和web.xml文件放在了WEB-INF目录下,lib中也放入了相应的包,为什么会提示:
type Status reportmessage Servlet action is not availabledescription The requested resource (Servlet action is not available) is not available.
help~~谢啦~
写了个ShowAttackSolutionAction用于显示记录,放在了skin.struts.action目录下。
struts-config.xml中相关的如下:
...
<data-sources>
<data-source key="mysql" type="org.apache.commons.dbcp.BasicDataSource">
<set-property property="sutoCommit" value="true"/>
<set-property property="driverClassName" value="com.mysql.jdbc.Driver"/>
<set-property property="url" value="jdbc:mysql://localhost:3306/test"/>
<set-property property="maxCount" value="10"/>
<set-property property="minCount" value="1"/>
<set-property property="username" value="root"/>
<set-property property="password" value="root"/>
</data-source>
</data-sources>
...
<form-bean
name="attackSolutionActionForm"
type="skin.struts.form.AttackSolutionActionForm" />
...
<action path="/ShowAttackSolutionAction"
type="skin.struts.action.ShowAttackSolutionAction">
<forward name="success" path="/showAttackSolution.jsp" />
</action>
...
<message-resources parameter="resources.application" />
...
web.xml相关代码如下:
...
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- Standard Action Servlet Mapping -->
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
...
一个进入的jsp代码如下:
<%@ page contentType="text/html; charset=gb2312" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<a href="ShowAttackSolutionAction.do">
<bean:message key="message.attacksolutionDB"/>
</a>
struts-config.xml和web.xml文件放在了WEB-INF目录下,lib中也放入了相应的包,为什么会提示:
type Status reportmessage Servlet action is not availabledescription The requested resource (Servlet action is not available) is not available.
help~~谢啦~
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
这个加了吗?
在前面加个/ 试下即:<a href="/ShowAttackSolutionAction.do">
package skin.struts.action;import java.util.ArrayList;import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;import skin.struts.dao.AttackSolutionDAO;public class ShowAttackSolutionAction extends Action { @Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
// TODO Auto-generated method stub
ServletContext context=servlet.getServletContext();
DataSource ds=(DataSource)context.getAttribute("postgre");
try {
AttackSolutionDAO attackSolutionDAO = new AttackSolutionDAO(ds);
ArrayList arrayList = (ArrayList)attackSolutionDAO.retrieveAllAttackSolution();
request.setAttribute("allAttackSolution", arrayList);
return mapping.findForward("success");
} catch(Exception e) {
e.printStackTrace();
return mapping.findForward("failure");
}
}}
有:
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
加了/后不对阿,路径就不再/attack/(web工程文件夹)下了,错误信息就变成了
type Status reportmessage /ShowAttackSolutionAction.dodescription The requested resource (/ShowAttackSolutionAction.do) is not available