dwr反推java的简单介绍

博主:adminadmin 2022-12-12 09:24:08 73

本篇文章给大家谈谈dwr反推java,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

使用dwr后,javaweb设置的session超时失效,web.xml和tomcat设置都不起作

在一般系统登录后,都会设置一个当前session失效的时间,以确保在用户长时间不与服务器交互,自动退出登录,销毁session

具体设置的方法有三种:

1.在web容器中设置(以tomcat为例)

在tomcat-7.0\conf\web.xml中设置,以下是tomcat7.0中默认配置:

123

session-configsession-timeout30/session-timeout/session-config

tomcat默认session超时时间为30分钟,可以根据需要修改,负数或0为不限制session失效时间

这里要注意这个session设置的时间是根据服务器来计算的,而不是客户端。所以如果在调试程序,应该是修改服务器端时间来测试,而不是客户端

2.在工程的web.xml中设置

!--时间单位为分钟--

123

session-configsession-timeout15/session-timeout/session-config

这里的15是指15分钟失效

3.通过java代码设置

session.setMaxInactiveInterval(30*60);//以秒为单位,即在没有活动30分钟后,session将失效

三种方式优先等级:1 2 3

在一般系统中,也可能需要在session失效后做一些操作:

1.控制用户数,当session失效后,系统的用户数减少一个,控制用户数量在一定范围内,确保系统的性能

2.控制一个用户多次登录,当session有效时,如果相同用户登录,就提示已经登录了,当session失效后,就可以不同提示,直接登录

那么如何在session失效后,进行一系列的操作呢?

这里就需要用到监听器了,即当session因为各种原因失效后,监听器就可以监听到,然后执行监听器中定义好的程序就可以了

监听器类为:HttpSessionListener类,有sessionCreated和sessionDestroyed两个方法

自己可以继承这个类,然后分别实现

sessionCreated指在session创建时执行的方法

sessionDestroyed指在session失效时执行的方法

例子:

1 public class OnlineUserListener implements HttpSessionListener{ 2     public void sessionCreated(HttpSessionEvent event){ 3         HttpSession session=event.getSession; 4         String id=session.getId()+session.getCreationTime(); 5         SummerConstant.UserMap.put(id,Boolean.TRUE);//添加用户 6     } 7      8     public void sessionDestroyed(HttpSessionEvent event){ 9         HttpSession session=event.getSession;10         String id=session.getId()+session.getCreationTime();11         synchronized(this){12             SummerConstant.USERNum--;//用户数减-13             SummerConstant.UserMap.remove(id);//从用户组中移除掉,用户组为一个map14         }15     }16 }

然后只需要把这个监听器在web.xml中声明就可以了

listener

listener-classcom.demo.OnlineUserListener/listener-class

/listener

我用dwr调用java的一个方法,但参数中有Object... objects,我该怎么传参。

Object... objects,表示你可以传多个参数,具体多少个根据你自己的需求来定,底层是用一个对象数据接收的

Java 怎样用DWR实现页面无刷新

IE进度条肯定会显示,另外想办法屏蔽吧,无刷新很简单,DWR提供了回调函数的接口,在回调函数中可以使用js动态改变数据

对于使用js只对数据进行刷新的操作应该了解吧!

下面例子是一个无刷新更改父页面信息的操作:

function update_hdsms() {

dwr.util.useLoadingMessage("正在提交...");

var formUpdate = dwr.util.getValues("formUpdate");

NewcpjhDWRJS.update(true,formUpdate, shows);//提交更新,shows为更新完成后的回调函数

}

function shows(data) {//回调函数中会有个更新完成后的返回值参数

if (data == "true") {//自己设置返回如果为true则进入刷新父页面数据

parent.selectser();//父页面中有selectser()的js函数对数据信息进行重刷新,只刷新数据部分

parent.win_tj_update.close();//这个没有必要知道了,这个是我关闭更新页面的方法

} else {

alert(data);

}

}

问题比较模糊,只能给你大概说说

DWR JS方法同JAVA方法同名导致无限循环

实际上

DWR是把java的deleteRegistSub方法也模拟成了一个JS方法.所以就有两个方法了..你可以在你的项目里面找一下,能找到把JAVA转换成JS后的代码

java中的dwr框架怎么配置啊?主要用于什么地方啊?

配置很简单~主要用于直接调用java函数~!!!

首先需要用到dwr.jar

web.xml

?xml version="1.0" encoding="UTF-8"?

web-app version="2.4"

xmlns=""

xmlns:xsi=""

xsi:schemaLocation="

"

display-nametest/display-name

servlet

servlet-namedwr/servlet-name

servlet-classorg.directwebremoting.servlet.DwrServlet/servlet-class

init-param

param-namedebug/param-name

param-valuetrue/param-value

/init-param

/servlet

servlet-mapping

servlet-namedwr/servlet-name

url-pattern/dwr/*/url-pattern

/servlet-mapping

welcome-file-list

welcome-fileindex.html/welcome-file

welcome-fileindex.htm/welcome-file

welcome-fileindex.jsp/welcome-file

welcome-filedefault.html/welcome-file

welcome-filedefault.htm/welcome-file

welcome-filedefault.jsp/welcome-file

/welcome-file-list

/web-app

dwr.xml

!DOCTYPE dwr PUBLIC

"-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN"

""

dwr

allow

create javascript="UserDAOAjax" creator="new"

param name="class" value="org.thj.UserDAOAjax"/param

/create

create javascript="MyProjectDao" creator="new"

param name="class" value="org.thj.MyProjectDao"/param

/create

convert match="org.thj.User" converter="bean"/convert

/allow

/dwr

MyProjectDao.java

package org.thj;

import java.util.HashMap;

import java.util.Map;

public class MyProjectDao {

public String getName(String str){

String returnStr="";

returnStr="((("+str+"))))MyProjectDao.getName-return String";

return returnStr;

}

public Map getMap(){

MapString,String map=new HashMapString,String();

map.put("1", "v1");

map.put("2", "v2");

map.put("3", "v3");

return map;

}

}

my.jsp

%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%

!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" ""

html

head

meta http-equiv="Content-Type" content="text/html; charset=UTF-8"

script type="text/javascript" src="dwr/engine.js"/script%--固定写法--%

script type="text/javascript" src="dwr/util.js"/script

script type="text/javascript" src="dwr/interface/MyProjectDao.js"/script%--由框架自动生成,文件名根据DWR文件而来--%

title测试/title

script type="text/javascript"

function validate()

{

var name = form1.username.value;

MyProjectDao.getName("黄东辉",callBack);

//UserDAOAjax.exitUser(name,show);%--exitUser()函数的返回值会赋给show()函数--%

}

function callBack(data){

alert("the return value is " + data);

}

function getMap(){

MyProjectDao.getMap(getMapCallBack);

}

function getMapCallBack(data){

for(var property in data){

alert("property:"+property);

alert(property+":"+data[property]);

}

}

/script

/head

body onload="validate()"

form action="#" name="form1"

table id="table1" border="0"

trtd 用户名:input type="text" name="username"//td/tr

trtd 密码:input type="text" name="password"/ /td/tr

trtd input type="button" value="点击" onclick="getMap();" / /td/tr

/table

/form

/body

/html

dwr反推java的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、dwr反推java的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-12,除非注明,否则均为首码项目网原创文章,转载请注明出处。