这是我的个人学习心得,前面已经学完了java的基础web开发,用的是最基础的servlet接收,调用dao方法。开发效率过慢,尤其是在接收图片时,更是麻烦到了极致。今天终于开始学框架了。(开发工具:MyEclipse)
首先来个热身,struct2初体验(直接返回参数)
1.去https://struts.apache.org/下载struts2,下载第一个,拿到核心jar包后,参考自的案例,获取核心配置
<filter>
<filter-name>struts-prepare</filter-name>
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareFilter</filter-class>
</filter>
<filter>
<filter-name>struts-execute</filter-name>
<filter-class>org.apache.struts2.dispatcher.filter.StrutsExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts-prepare</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts-execute</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
将其贴进web.xml配置文件,这是一个过滤器,但凡调用到了prepare,execudte方法,struts就会干预我们的系统。(struts是低侵入性系统,即直接导入对工程影响也不大,可以根据我们需要做更改)
2.再在src下创建一个struts.xml的xml的文件,这里的文件必须命名为struts.xml
<package name="demoPkg" namespace="/demo" extends="struts-default">
<action name="test" class="demo.action.DemoAction(这里为你的类地址)">
</action>
</package>
3.新建一个类,继承于Struts的ActionSupport方法,建议以action的后缀来命名,代码更明朗
如果要查看ActionSupport的源代码,需要右键library中的srtruts2-core.jar包选择属性,重新链接源码,才能看到源代码
4.配置完成,开始测试
private String bookName;
//这里使用有参方法
public void setBookName(String bookName) {
this.bookName = bookName;
}
//execute方法
public String execute() throws Exception{
system.out.println("DemoAction is invoked now! bookName:"+this.bookName);
return null;
}
部署服务器,运行,这里用的是tomcat 8.x的服务器,运行结果如图
用的是get请求传递参数,s2是我们的webapp名,demo/test是我们前面配置参数中设置的,而struts默认接收.do: (http://localhost:8080/s2/demo/test.do?bookName=ava)
刷新网页,console出现
DemoAction is invoked now! bookName:ava
完成了参数的传递,初试struts成功!