dwr全称Direct Web Remoting原理将java代码转化成js对象,实现跨域访问

web.xml<?xml  version="1.0" encoding="UTF-8"?>

xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"

id="WebApp_ID" version="2.5">

DWR (Direct Web Remoting)

A Simple Demo DWR

org.directwebremoting.servlet.DwrListener

dwr-invoker

org.directwebremoting.servlet.DwrServlet

debug

true

1

dwr-invoker

/dwr/*

dwr.xml<?xml  version="1.0" encoding="UTF-8"?>

dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN" "http://getahead.org/dwr/dwr30.dtd">

package org.konghao.dwr.model;

import java.io.File;

import java.io.IOException;

import java.io.InputStream;

import java.util.ArrayList;

import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.io.FileUtils;

import org.apache.commons.io.FilenameUtils;

import org.directwebremoting.WebContext;

import org.directwebremoting.WebContextFactory;

public class MyDwr {

public String hello(String world) {

System.out.println("hello "+world);

return "hello "+world;

}

public User load() {

User u = new User(1,"张三",new Group(1,"财务处"));

return u;

}

public List list() {

List users = new ArrayList();

users.add(new User(1,"张三",new Group(1,"财务处")));

users.add(new User(2,"李四",new Group(2,"科技处")));

users.add(new User(3,"王五",new Group(3,"宣传部")));

return users;

}

public void add(User user) {

System.out.println(user);

}

public void deleteUser() {

throw new MyException("在删除用户的时候有错");

}

public int add(int a,int b) {

return a+b;

}

public String upload(InputStream is,String filename) throws IOException {

//WebContext可以获取HttpServlet的对象

WebContext wc = WebContextFactory.get();

HttpServletRequest req = wc.getHttpServletRequest();

String realpath = req.getSession().getServletContext().getRealPath("upload");

String fn = FilenameUtils.getName(filename);

String filepath = realpath+"/"+fn;

FileUtils.copyInputStreamToFile(is, new File(filepath));

return filepath;

}

}

package org.konghao.dwr.model;

public class MyException extends RuntimeException {

public MyException() {

super();

// TODO Auto-generated constructor stub

}

public MyException(String message, Throwable cause) {

super(message, cause);

// TODO Auto-generated constructor stub

}

public MyException(String message) {

super(message);

// TODO Auto-generated constructor stub

}

public MyException(Throwable cause) {

super(cause);

// TODO Auto-generated constructor stub

}

}

package org.konghao.dwr.model;

public class User {

private int id;

private String username;

private Group group;

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getUsername() {

return username;

}

public void setUsername(String username) {

this.username = username;

}

public Group getGroup() {

return group;

}

public void setGroup(Group group) {

this.group = group;

}

public User(int id, String username, Group group) {

super();

this.id = id;

this.username = username;

this.group = group;

}

public User() {

super();

}

@Override

public String toString() {

return "User [id=" + id + ", username=" + username + ", group=" + group

+ "]";

}

}

package org.konghao.dwr.model;

public class Group {

private int id;

private String name;

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public Group(int id, String name) {

super();

this.id = id;

this.name = name;

}

public Group() {

super();

}

@Override

public String toString() {

return "Group [id=" + id + ", name=" + name + "]";

}

}

无刷新上传文件

pageEncoding="UTF-8"%>

html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

Insert title here

function upload() {

var file = dwr.util.getValue("myfile");

alert(file.value);

alert(file);

MyDwr.upload(file,file.value,function(data){

alert(data);

});

}

dwr框架ajax验证账号,dwr-Ajax开源框架相关推荐

  1. python框架大全_常用的Python开源框架有哪些?列举这3个

    随着人工智能快速发展,不仅在各个领域应用日益广泛,同时也引发了教学内容的变革和创新.人工智能的火热得益于成功的开源以及深度学习框架的不断涌现.而Python作为一种脚本语言,具有易学.易维护等优点,它 ...

  2. android 最新开源框架,Android酷炫实用的开源框架(UI框架)

    前言 忙碌的工作终于可以停息一段时间了,最近突然有一个想法,就是自己写一个app,所以找了一些合适开源控件,这样更加省时,再此分享给大家,希望能对大家有帮助,此博文介绍的都是UI上面的框架,接下来会有 ...

  3. html ajax验证用户名密码,AJAX实现注册验证用户名

    本文实例为大家分享了AJAX实现注册验证用户名的具体代码,供大家参考,具体内容如下 功能说明 当用户在注册页面输入用户名并且鼠标焦点离开输入框时,到数据表中去验证该用户名是否已经存在,如果存在提示不可 ...

  4. android 动画开源框架,21款炫酷动画开源框架,照亮你的APP

    前言 最近对应用的UI视觉效果突然来了兴致,所以找了一些合适开源控件,这样更加省时,再此分享给大家,希望能对大家有帮助,此博文介绍的都是UI上面的框架. 1.Side-Menu.Android 分类侧 ...

  5. 精美的android ui框架,Android酷炫实用的开源框架(UI框架)

    前言 忙碌的工作终于可以停息一段时间了,最近突然有一个想法,就是自己写一个app,所以找了一些合适开源控件,这样更加省时,再此分享给大家,希望能对大家有帮助. 1.Side-Menu.Android ...

  6. jquery+ajax验证不通过也提交表单问题处理

    这篇文章主要介绍了jquery validationEngine中使用ajax验证不通过也提交表单问题处理,需要的朋友可以参考下 validationEngine给我们为前端的表单验证减少了很大的工作 ...

  7. 掌握了开源框架还不够,你更需要掌握源代码

    摘要:本篇文章将以解决 Element Plus 问题的经历开始,循序渐进讨论开源项目或开源框架的问题,进一步讨论驾驭开源项目源代码的方法和技巧,分享自己阅读.理解和更改源代码的思路. 本文分享自华为 ...

  8. python开发框架大全_最常用Python开源框架有哪些?

    Python开源框架有很多,像Django.Flask.webpy等等,但哪些是最常用到的呢?我们收集了一些Python使用者的宝贵意见,把他们认为最常用的Python开源框架简单的介绍给大家. 一. ...

  9. Android优秀开源框架集

    Android优秀开源框架介绍 开篇 网络请求框架 1. okhttp 2. retrofit 3. android-async-http android图表框架 4. MPAndroidChart ...

最新文章

  1. 双网口相机用序列号打开
  2. 23、Power Query-XML与JSON数据获取
  3. Java网络编程从入门到精通(21):HTTP消息的格式
  4. 计算机入门模拟试题abcd,计算机一级计算机基础及WPSOffice应用考前模拟试题及答案(7)...
  5. 实例6:python
  6. day24-抽象类与接口类
  7. oracle sysau,ORACLE 10GR2 ASM 如何修改AU_SIZE的大小
  8. 20172307 2017-2018-2 《程序设计与数据结构》第7周学习总结
  9. iOS - JSON 数据解析
  10. Bada学习-(十一)文件系统
  11. win10外接屏显示分辨率不匹配问题解决
  12. 《正确去掉Win7快捷方式小箭头》
  13. scara机器人dh参数表_scara机器人技术参数
  14. TCP/IP网络初识
  15. 基于javaweb的医院挂号预约系统
  16. linux硬盘恢复软件哪个好用,这些Linux数据恢复工具,你用过哪几个
  17. java用数组显示周期性波形,电压uI的周期性波形如图所示,则灯L的情况为
  18. 为何家会伤人:2020-10-15早上
  19. python launcher卸载后蓝屏_安装win7x64、x86总提示文件出错或安装大型软件出错或0x0000001a、0x0000003b蓝屏...
  20. 图像迁移风格保存模型_一种图像风格迁移方法与流程

热门文章

  1. cnn卷积神经网络_卷积神经网络(CNN)原理及应用
  2. python:series一些函数用法
  3. 后端必备的200本书,一次性给你!
  4. 推荐一款Java开发的精美个人博客
  5. 太火了!MyBatis Plus 为啥这么牛?
  6. 蓝桥杯-送分啦(java)
  7. 2021 - 10 -7 ! 二叉树的前序、中序、后序遍历 非递归思路(迭代版本)
  8. struts2控制标签(一)选择标签,iterator标签,append标签
  9. Php无刷新修改url,history 实现无刷新更改url和页面内容
  10. (JAVA学习笔记) static关键字详解