java

Struts2框架学习笔记

2018-04-01  本文已影响0人  dravenxiaokai

搭建struts2开发环境
官网下载struts2
当前使用版本 struts-2.3.34-all.zip
解压得到struts-2.3.34文件夹,进入apps可以查看例子
解压struts2-blank.war
struts-2.3.34\apps\struts2-blank\WEB-INF\lib目录下可以找到基本的使用jar包,拷贝到所创建工程中

struts2-core-2.3.34.jar
xwork-core-2.3.34.jar
ognl-3.0.21.jar
freemarker-2.3.22.jar
commons-fileupload-1.3.2.jar
commons-logging-1.1.3.jar

在src下编写struts.xml配置文件
可以在struts-2.3.34\apps\struts2-blank\WEB-INF\classes下找到参考写法

<?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>
</struts>

在web.xml文件中加入Struts2 MVC框架启动配置
在struts1.x中,struts框架是通过servlet启动的
在struts2中,struts框架是通过filter启动的

<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>

启动项目报错:

Dispatcher initialization failed
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException

Caused by: java.lang.IllegalArgumentException: Javassist library is missing in classpath! Please add missed dependency!
    at ognl.OgnlRuntime.<clinit>(OgnlRuntime.java:169)
    ... 34 more
Caused by: java.lang.ClassNotFoundException: javassist.ClassPool

继续添加jar

javassist-3.11.0.GA.jar
commons-io-2.2.jar
commons-lang3-3.2.jar

当package继承了struts-default,才能使用struts2的核心功能
第一个struts2应用

<?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>
<package name="itcast" namespace="/test" extends="struts-default">
</package>
<package name="it" extends="struts-default">
    <action name="helloworld" class="ren.draven.action.HelloWorldAction" method="execute">
        <result name="success">/WEB-INF/page/hello.jsp</result>
    </action>
</package>
</struts>
struts2处理流程
上一篇 下一篇

猜你喜欢

热点阅读