电子商务网站建设客户需求调查表,杭州网络推广专员,浙江省建设工程监理管理协会网站,wordpress 主页html在学习SSH框架之前#xff0c;首先需要熟悉servlet#xff0c;然后再去替代它。 Struts#xff1a;
教程#xff1a;
part1 基础配置 首先去官网下载Struts#xff0c;下载这个大小为65MB的 压缩后#xff0c;就可以将其中的lib中的jar导入了#xff0c;其实不用全部…在学习SSH框架之前首先需要熟悉servlet然后再去替代它。 Struts
教程
part1 基础配置 首先去官网下载Struts下载这个大小为65MB的 压缩后就可以将其中的lib中的jar导入了其实不用全部导入常见的jar包如下 然后就是编写代码了
首先去web.xml配置filter加入以下配置这个filter配置是第一步但是目前以我短浅的学习暂时不能说出它的作用
filterfilter-namestruts/filter-namefilter-classorg.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter/filter-class/filterfilter-mappingfilter-namestruts/filter-nameurl-pattern/*/url-pattern/filter-mapping
接着假设我们有一个html页面了页面里有一个表单表单的action属性跳转到一个链接这个添加填上myAction于是我们再建一个java类名字就是myAction extends ActionSupport然后实现excute方法该方法返回String值和struts.xml中相对应。当然光是编写了一个myAction的类是不能将表单的链接和类关联起来的还需要struts.xml文件其实如果熟悉servlet的xml配置原理都差不多
html界面的表单写法
form action%request.getContextPath() %/loginAction method post
用户名input type text name userName/br/
密码input typepassword name password/br/
input typesubmit value登录/
struts.xml配置如下
?xml version1.0 encodingUTF-8?!DOCTYPE struts PUBLIC-//Apache Software Foundation//DTD Struts Configuration 2.3//ENhttp://struts.apache.org/dtds/struts-2.3.dtdstruts!-- 配置包名便于区分 namespace直译是命名空间作用是绑定url前缀即在访问页面时该加什么前缀 --package namemypackage extendsstruts-default namespace/!-- action的名字 对应哪一个类 method属性指定调用类中的哪个方法处理 --action nameloginAction classcom.bowen.controller.MyAction methodexcute!--配置方法的返回值--result namesuccess/index.jsp/resultresult name fail/login.jsp/result/action/package
/struts对于该配置文件中的result标签它的name与你编写的excute方法的返回值相对应标签内部指定跳转的地址
result标签还可以指定跳转类型比如重定向或者再跳转到一个action
result namesuccess typeredirect/index.jsp/result
result name fail typechainaction2/result 之前用过servlet都知道解决中文乱码要加上几句话而struts中则是在web.xml配置文件中加入
filterfilter-nameencodingFilter/filter-namefilter-classorg.springframework.web.filter.CharacterEncodingFilter/filter-classinit-paramparam-nameencoding/param-nameparam-valueUTF-8/param-value/init-param/filterfilter-mappingfilter-nameencodingFilter/filter-nameurl-pattern/*/url-pattern/filter-mapping part 2 参数传递问题 在传统的servlet中我们采用request和response传递参数但是struts2如果想用同样的方式传递参数可以
HttpServletRequest req ServletActionContext.getRequest();
HttpServletResponse resp ServletActionContext.getResponse();
获取request和response再getAttribute但实际上还有其他方式 我们一般使用ModelDriven接口在编写的action类里继承ModelDriven然后实现getModel方法具体的可以参考下面的网址毕竟我也是初学者没有别人讲的好,而modelDriven背后的机制又特别迷惑目前我只能停留在应用的阶层。
https://blog.csdn.net/weixin_39220472/article/details/80296890 此外我们还需要requestresponse等对象而在struts中所有的这些对象都被集中在ActionContext中你想要的对象它应有尽有可以这样获得一个想要的对象
MapString, Object session ActionContext.getContext().getSession();
可以看出它就是一个Map可以通过put的方法来存值
session.put(name, Tom); 之后就是ognl表达式和struts标签了和jstl表达式类似但是又不一样
https://www.cnblogs.com/mingforyou/p/4483945.html
上面的博客可以快速入门如何使用struts标签将它和jstl做了比较