html+java+struts实践笔记

首次HTML+java后台实践笔记

工具:eclipse
目的:使用java后台,套用struts框架,实现HTML项目的后台逻辑处理
实现效果:在html页面的js中发送ajax请求,获得java后台的返回数据

1. 新建Dynamic web project项目,生成空项目

项目结构如下:
-ddd
|--Deployment Descriptor :ddd
|--JAX-WS Web Services
|--Java Resource
|--JavaScript Resource
|--build
|--WebContent
     |--META-INF
     |--WEB-INF // 放置html页面
         |--lib // 放置引用的与网页相关的jar包
         |--web.xml // 添加struct2过滤器 与映射

2. 添加struts2过滤器

// web.xml 

    struts2
    org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
    


    struts2
    /*
    REQUEST 
    FORWARD


3. 在Java Resource目录下 添加struts.xml 用于映射方法查找

// struts.xml   



    
        
        
        

        // action-name: ajax的请求地址
        // action-class: Java Resource目录下的对应java文件,用于后台逻辑处理
        // action-method: 在action-class指向的java文件中,查找对应的方法名称

    

4.实际的java后台逻辑处理

// Java Resources/src/UserAction.java
public class UserAction extends ActionSupport {
    HttpSession session = getSession();
    HttpServletRequest request = getRequest();
    HttpServletResponse response = getResponse();
    HashMap data = new HashMap();

    
    public String getVisitorCount () throws IOException {
        
        // data是一个预定义的HashMap类型的数据
        // 通过.push方法传入键值对
        // 通过JSON.toJSONString(data)解析成常用的json数据类型
        data.push(key,value);

        try {
            response.getWriter().write(JSON.toJSONString(data));
        } catch (IOException e) {
            e.printStackTrace();
        }

        return null;
    }
    
    private HttpSession getSession() {
        HttpSession session = ServletActionContext.getRequest().getSession();
        return session;
    }

    public HttpServletRequest getRequest() {
        HttpServletRequest request = ServletActionContext.getRequest();
        return request;
    }

    public HttpServletResponse getResponse() {
        HttpServletResponse response = ServletActionContext.getResponse();
        return response;
    }

}

5.在js中发出ajax请求,调用java后台

// jQuery Ajax请求
function sendAjax(){
    $.ajax({
        type: "post",
        url: "getVisitorCount",    // url字段即为struts.xml中的action-name字段;struts将完成action转发,查找对应方法
        data: {"para":1},
        cache: false,
        async : true,
        dataType: "json",
        success: function (data)
        {
           // success operation
        },
        error:function (XMLHttpRequest, textStatus, errorThrown) {      
           // failure operation
        }
     });
}

sendAjax();

你可能感兴趣的:(html+java+struts实践笔记)