本人虽然上学阶段接触过SSH,但大家知道的,一知半解的。今天重新开始学习SSH框架。今天在此讲的也是个人的一个学习的过程,如果错误,还请各位大牛指点。
首先第一步我们从第一个S开始,也就是struts2!
什么是struts2:Struts2整合了MCV和Webwork两种优秀的MVC框架的框架。
struts2的作用:方便开发人员和减小了框架内部耦合度。
struts的用法:它是通过核心控制器接收用户请求然后交给大量的拦截器来处理用户请求。
核心控制器有两个部分:FilterDispatcher和业务控制器Action。
FilterDIspatcher就是一个Servlet的过滤器,需要提前在XML中配置。
Action是一个POJO,有良好的代码重用性。
下面来尝试一个简单的struts2的加法器
第一步:配置业务控制器,首先要去网上下载它的5个核心jar。
第二步:在web.xml文件中配置核心控制器。
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
第三步:配置完成后就可以开始创建用户输入的jsp界面了,这个就看你自己个人喜好了,只有有两个text输入框和一个按钮就行。
第四步:在输入页面设计完成后,开始设计实现业务逻辑,可以在src下新建一个biz(自己命名)包,然后新建一个java函数。
这里只写了个实现加法的。
public class Calculator {
public double add(double num1, double num2) {
// TODO Auto-generated method stub
return num1+num2;
}
}
第五步:业务逻辑实现之后,就可以开始创建业务控制器了(当用户点击按钮提交数据之后,就会到业务控制器,然后调用业务逻辑进行运算)。
package SSH.action;
import com.opensymphony.xwork2.ActionContext;
public class addAction {
private double num1;
private double num2;
public double getNum1()
{
return num1;
}
public void setNum1(double num1)
{
this.num1=num1;
}
public double getNum2()
{
return num2;
}
public void setNum2(double num2)
{
this.num2=num2;
}
@SuppressWarnings("unchecked")
public String execute()
{
Calculator biz=new Calculator();
double result=biz.add(this.num1,this.num2);
ActionContext.getContext().getSession().put("result",result);
return "cal";
}
}
第六步:在src里新建一个struts.xml来配置刚新建的业务控制器(通过XML的配置文件,来控制返回结果之后的跳转页面)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.devMode" value="true" />
<package name="p2" extends="struts-default">
<action name="add" class="SSH.action.addAction">
<result name="cal">/add_result.jsp</result>
</action>
</package>
</struts>
到这里这个简单的加法器就完成了,从用户输入的jsp界面运行就可以看到效果了。
我个人遇到的问题就是:把struts错写成了structs.
接触SSH的第一步到这里就结束了。