【Web开发】Struts配置+StrutsPrepareAndExecuteFilter找不到解决方案

lib文件夹导入

1.下载Struts2
2.在lib文件夹中复制jar包
Struts必须jar包
PS:之前没有导入commons-lang3-3.2.jar和javassist-3.11.0.GA.jar,一直提示java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

文件配置

1.web.xml

WebContent -> Web-INF -> lib -> 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="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
  <display-name>Test</display-name>
  <filter>
      <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>  
  </filter>
  <filter-mapping>
      <filter-name>struts2</filter-name>
      <url-pattern>/*</url-pattern>
  </filter-mapping>
</web-app>

2.struts.xml

src文件夹中

1.package中的name只是一个标识,你可以随意命名;

2.action中的name对应你页面中的一个action跳转,比如你页面有个表单提交: < form action=”struts.xml中action里的name”>,method为class中对应的方法

3.namespace是用于区分包中相同的类,如果没写,说明该包为默认空间,如果写了(如你的这个例子),那么就说明包caixuedong的空间为/core。

<?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>
    <include file="struts-default.xml"/>
    <package name="struts2_login" namespace="/login" extends="struts-default">
        <action name="checkLogin" class="act.LoginAction" method="checkLogin">
            <result name="success">/index.jsp</result>
            <result name="login">/login.jsp</result>
        </action>
    </package>
</struts>

猜你喜欢

转载自blog.csdn.net/tjj1998/article/details/80511221
今日推荐