java action 返回html_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

/p>

"http://struts.apache.org/dtds/struts-2.3.dtd">

// 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();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值