仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 4917|回复: 20
打印 上一主题 下一主题

[学习教程] JAVA编程:JSP与ASP.Net之间的Session值共享

[复制链接]
变相怪杰 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:34:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
他们对jsp,servlet,javabean进行封装就是为了展示他们的某个思想,与java的开发并没有必然的关系,也不见得在所以情况下,别人使用起来会简单。asp.net|js|session
先容:ASP.NET中登录后,JSP能够用ASP.Net中的Session的值
这个话题刚入手下手,宝宝(itbaby.jss.cn)的思绪是ASP.NET中序列化Session以二进制数据保留到数据库,然后由JSP读取数据库中的二进制数据反序列化成Session对

象,再强迫转化成JAVA的Session对象,在JAVA端转换时,呈现了毛病,找遍网上的材料也没能办理,故接纳一种交换的体例.

交换的体例的思绪:

登录的ASPX文件中,在登录乐成后将Session中的变量值保留到数据库中的一张表,关头字利用ASP.NET的Session对象的SessionID,然后创建一个ASPX文件,取

妥当前登任命户的SessionID,并利用的ASP.NET重定向语句,转到JSP文件,该URL哀求的路径格局为test.jsp?aspnetsessionid=ffj12d455p0ujr45vdqwhh45,假如

ASP.NET没有登录或登录不乐成,固然有SessionID的值,但数据库中是没有该SessionID联系关系的数据

大概有的读者发明,不必test.jsp?aspnetsessionid=ffj12d455p0ujr45vdqwhh45如许的哀求的路径也能够完成,是的,能够用test.jsp?userid=1111如许的方

式也传送值,固然userid是由ASP.NET上岸乐成后,获得的值,但如许有些用户就能够晓得USERID(用户编号)这个敏感数据了.


创建一张表
tablename:
iis_session
fieldname:
idvarchar(26)--寄存ASP.NET的SessionID
useridint(4)--寄存登录乐成后的用户编号
powerint(4)--寄存用户的权限编号


ASP.NET程序源码片断:

/*登录乐成后,可将以下CODEING放在登录的考证ASPX页面中*/

//纪录Sessionvalue到数据库
privatevoidWriteSession2DB(stringsessionID,stringsUID,stringsPWR)
{
//毗连数据库代码,读者自行增加
stringsessID=sessionID;
stringstrSQL="insertintoiis_session(id,userid,power)values(@seionID,@UID,@PWR)";

//webmod.sqlConn是数据库的毗连对象,读者自行交换成本人的数据库毗连
SqlCommandsqlCmd=newSqlCommand(strSQL,webmod.sqlConn);
sqlCmd.Parameters.Add("@seionID",SqlDbType.VarChar).Value=sessID;
sqlCmd.Parameters.Add("@UID",SqlDbType.Int).Value=Convert.ToInt32(sUID.Trim());
sqlCmd.Parameters.Add("@PWR",SqlDbType.Int).Value=Convert.ToInt32(sPWR.Trim());
sqlCmd.ExecuteNonQuery();
//封闭数据库毗连,读者自行增加

}



/*当用户加入体系,将数据库中对应的SessionID的一行数据删除,可放在加入页面,或Global.asax的Session_END过程当中*/

//删除数据库中的Sessionvalue
privatevoidRemoveSession4DB()
{
//毗连数据库代码,读者自行增加
stringsessID=Session.SessionID;
stringstrSQL="deletefromiis_sessionwhereid="+sessID+"";

//webmod.sqlConn是数据库的毗连对象,读者自行交换成本人的数据库毗连
SqlCommandsqlCmd=newSqlCommand(strSQL,webmod.sqlConn);
sqlCmd.ExecuteNonQuery();
//封闭数据库毗连,读者自行增加
}


/*一个重定向到JSP的ASPX页面,在这个ASPX页面的PAGE_LOAD中增加以下代码*/
privatevoidPage_Load(objectsender,System.EventArgse)
{
stringstrSessionID=Session.SessionID.Trim();
StringstrRoot="http://localhost/test.jsp?aspnetsessionid="+strSessionID;
Response.Redirect(strRoot,true);
}



JSP程序源码片断:
<%@pagecontentType="text/html;charset=gb2312"%>
<%
/*
本人的数据库毗连类,用户能够本人交换
*/
%>
<jsp:useBeanid="db"scope="page"class="com.itbaby.bean.dbx.database"/>

<%

StringsASPNetSessionID=request.getParameter("aspnetsessionid");

//利用了毗连池毗连数据库,用户能够交换成本人的
StringsDBSourceName="itbaby_dbpool";
db.dbConnOpen(sDBSourceName);

StringsSql="selectuserid,powerfromiis_sessionwhereid="+sASPNetSessionID+"";

//读者本人交换读出了局集的代码
java.sql.ResultSetrs=db.getRs(sSql);

if(rs.next())
{

StringsUID=rs.getString(1);
StringsPower=rs.getString(2);

/*将数据库中对应的SESSIONID的值读出来,并显现,假如ASP.NET的SESSION超时,将没有值*/
out.print("<H1>ASP.NetSessionValueUserID="+sUID+"</H1><br><br>");
out.print("<H1>ASP.NetSessionValuePower="+sPower+"</H1><br><br>");

}
rs.close();

db.dbConnClose();

%>

好了,固然不是很好的办法,但也能够用,也一样回护了用户的一些敏感数据
我将持续思索利用序列化和反序列化的体例来到达分歧的WEB言语之间共享Session对象而不是下面的,共享Session的值



微软什么都提供了。你可以试想一下,如果你是新手,你是希望你点一下按钮程序就能运行那,还是想自己一点一点的组织结构,然后打包发部,调错再打包......
若相依 该用户已被删除
沙发
发表于 2015-1-21 10:23:47 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
飘灵儿 该用户已被删除
板凳
发表于 2015-1-24 12:03:25 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
admin 该用户已被删除
地板
发表于 2015-1-29 23:10:09 | 只看该作者
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
灵魂腐蚀 该用户已被删除
5#
发表于 2015-2-6 06:20:08 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
莫相离 该用户已被删除
6#
发表于 2015-2-11 08:40:31 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
乐观 该用户已被删除
7#
发表于 2015-3-2 04:41:20 | 只看该作者
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
海妖 该用户已被删除
8#
发表于 2015-3-11 02:04:54 | 只看该作者
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
精灵巫婆 该用户已被删除
9#
发表于 2015-3-13 22:58:30 | 只看该作者
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
再现理想 该用户已被删除
10#
发表于 2015-3-20 20:57:07 | 只看该作者
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
若天明 该用户已被删除
11#
发表于 2015-3-22 00:10:21 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
小妖女 该用户已被删除
12#
发表于 2015-4-26 07:49:31 | 只看该作者
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
柔情似水 该用户已被删除
13#
发表于 2015-6-17 19:36:53 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
兰色精灵 该用户已被删除
14#
发表于 2015-6-22 15:13:36 | 只看该作者
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
谁可相欹 该用户已被删除
15#
发表于 2015-7-12 12:26:08 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
深爱那片海 该用户已被删除
16#
发表于 2015-7-16 19:29:20 | 只看该作者
Java 编程语言的风格十分接近C、C++语言。
再见西城 该用户已被删除
17#
发表于 2015-7-20 08:48:03 | 只看该作者
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
第二个灵魂 该用户已被删除
18#
发表于 2015-7-22 01:36:56 | 只看该作者
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
老尸 该用户已被删除
19#
发表于 2015-7-22 23:22:24 | 只看该作者
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
山那边是海 该用户已被删除
20#
发表于 2015-7-23 22:59:29 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 08:23

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表