亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

使用struts開發restful風格網站

struts是基于MVC设计模型的一只开源框架,它作为一个前端过滤器(拦截器),将用户的请求拦截分发给后端处理,并依赖一定的约定给出响应。

而Restful是一种简约规范的设计风格,层次分明的同时更易前端缓存。
在REST中,每一个对象都是通过URL来表示的,对象用户负责将状态信息打包进每一条消息内,以便对象的处理总是无状态的。
于是开发人员可以轻松使用 Ajax 和 RESTful Web 服务一起创建丰富的界面。


使用struts开发restful风格网站,需经过一下几个主要步骤。
首先在web.xml中配struts拦截器

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

在struts.xml无需过多配置,简单几句即可。

<struts>
    <!-- 关闭动态方法 action:方法名 -->
    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <!-- 启用开发者模式 -->
    <constant name="struts.devMode" value="true" />
    <constant name="struts.i18n.encoding" value="utf-8"/> 
</struts>

以简单的注册为例,在前端发送ajax请求:

$.ajax({
      type:"post",
      data:$("#myform").serialize(), //表单序列化,需给每个input标签name属性,对应后台的模型对象属性
      url:"voteUser_register.action", //后端的action处理地址
     dataType:"json", //返回json数据
     success:function(data){
     if(data.code== 1){
       alert("注册成功!");
       location.href="login.html";
    }else{
      alert("注册失败!原因"+data.msg);
    }
  }
});

后端采用注解方案,当前端请求地址为voteUser_register.action时,其对应处理的方法是register(),调用方法成功返回success后返回一个jsonModel(json数据)给客户端,完成注册步骤。
且需要在其对应的action方法中配置

@Namespace(“/”) //路径
@ParentPackage(“json-default”) //继承包

@Action(value="/voteUser_register",results=@Result(type="json",name="success",params={"root","jsonModel","excludeNullProperties","true","noCache","true"}))
//root,指返回对象 excludeNullProperties 指去除json数据中的空值 ,noCache 指无缓存,键值对形式配置
public String register(){
     jsonModel = new JsonModel();
     if(user.getUname()!=null&&user.getPwd()!=null){
     try{
        service.saveOrUpdate(user);
        jsonModel.setCode(1);
       }catch(Exception e){
          e.printStackTrace();
          jsonModel.setCode(0);
          jsonModel.setMsg("user dose not exit");
      }
    }else{
       jsonModel.setCode(0);
       jsonModel.setMsg("user dose not exit");
   }
 return "success";
}
點擊查看更多內容
12人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
全棧工程師
手記
粉絲
22
獲贊與收藏
397

關注作者,訂閱最新文章

閱讀免費教程

感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消