最近因为学了java,但是发现自己只会写代码,框架神马的不是很懂,决定抽时间学习一下,顺便写篇文章记录下学习过程。
1,搭建一个简单的Struts2框架
首先去逛网下载Struts架包:官网
打开目录结构:
创建java web 项目 ,但是发现没有web.xml,应该是没有创建出来了,需要点击项目右键,找到java EE tools,选择生成xml
打开下载的Struts2 中的apps里demo,解压demo,找到里面项目的web.xml,拷贝里面的过滤器放到自己代码web.xml中
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<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>
然后需要把架包方法我们的lib下面
然后再创建一个Struts.xml ,再去demo的Struts.xml里拷贝代码放到我们的Struts.xml里面
然后在Struts.xml里面添加代码
<struts>
<constant name="struts.devMode" value="true"></constant>
<package name="p1" extends="json-default">
<action name="hello" class="com.jzrk.web.action.HelloAction" method="sayHello">
<result name="success">/success.jsp</result>
</action>
</package>
</struts>
去创建一个类,路径是com.jzrk.web.action,类名是HelloAction
在类里面添加方法
public String sayHello() {
System.out.println("sayHello");
return "success";
}
然后创建index.jsp,加上a标签进行跳转
<a href="${pageContext.request.contextPath}/hello.action">访问struts的第一个案例</a>
在创建一个成功跳转的页面success.jsp
然后运行项目,一个最基本的项目就ok了
遇到的问题
项目中Struts.xml中的 extends="json-default"写成extends="struts-default",结果一直提示少包。。。