- 浏览: 58807 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
liumingtong:
我想要你的联系方式.可以吗?要不你加我Q 3813774
success -
抛出异常的爱:
congdepeng 写道Liskov替换原则(LSP)
描 ...
设计原则 -
wumingshi:
楼主关于LSP的解释是错误的。LSP的精髓是,使用父类的代码可 ...
设计原则 -
liumingtong:
struts2的OGNL表达式
struts2的值栈
st ...
总结struts2 完成中······ -
Cindy_Lee:
Joy.zhang 写道
下面是具体的设计模式:
单例 ...
设计模式中11种
本篇介绍思路是ASP.NET中序列化Session以二进制数据保存到数据库,然后由JSP读取数据库中的二进制数据反序列化成Session对象,再强制转化成JAVA的Session对象,在JAVA端转换时,出现了错误,找遍网上的资料也没能解决,故采用一种替换的方式。
介绍:ASP.NET中登录后,JSP可以用ASP.Net中的Session的值。
这个话题刚开始,宝宝的思路是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(用户编号)这个敏感数据了.
建立一张表
table name:
iis_session
field name :
id varchar(26) --存放ASP.NET的SessionID
userid int(4) --存放登录成功后的用户编号
power int(4) --存放用户的权限编号
ASP.NET程序源码片段:
/*登录成功后,可将下列CODEING放在登录的验证ASPX页面中*/
//记录 Session value 到数据库
private void WriteSession2DB(string sessionID,string sUID,string sPWR)
{
//连接数据库代码,读者自行添加
string sessID = sessionID;
string strSQL = "insert into iis_session(id,userid,power) values(@seionID,@UID,@PWR)";
//webmod.sqlConn是数据库的连接对象,读者自行替换成自己的数据库连接
SqlCommand sqlCmd = new SqlCommand(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过程中*/
//删除数据库中的 Session value
private void RemoveSession4DB()
{
//连接数据库代码,读者自行添加
string sessID = Session.SessionID;
string strSQL = "delete from iis_session where id='"+sessID+"'";
//webmod.sqlConn是数据库的连接对象,读者自行替换成自己的数据库连接
SqlCommand sqlCmd = new SqlCommand(strSQL,webmod.sqlConn);
sqlCmd.ExecuteNonQuery();
//关闭数据库连接,读者自行添加
}
/*一个重定向到JSP的ASPX页面,在这个ASPX页面的PAGE_LOAD中添加如下代码*/
private void Page_Load(object sender, System.EventArgs e)
{
string strSessionID = Session.SessionID.Trim();
String strRoot = "http://localhost/test.jsp?aspnetsessionid="+strSessionID;
Response.Redirect(strRoot,true);
}
JSP程序源码片段:
<%@ page contentType="text/html;charset=gb2312"%>
<%
/*
自己的数据库连接类,用户可以自己替换
*/
%>
<jsp:useBean id="db" scope="page" class="com.itbaby.bean.dbx.database"/>
<%
String sASPNetSessionID=request.getParameter("aspnetsessionid");
//使用了连接池连接数据库,用户可以替换成自己的
String sDBSourceName="itbaby_dbpool";
db.dbConnOpen(sDBSourceName);
String sSql="select userid,power from iis_session where id='"+sASPNetSessionID+"'";
//读者自己替换读出结果集的代码
java.sql.ResultSet rs=db.getRs(sSql);
if(rs.next())
{
String sUID = rs.getString(1);
String sPower = rs.getString(2);
/*将数据库中对应的SESSIONID的值读出来,并显示,如果ASP.NET的SESSION超时,将没有值*/
out.print("<H1>ASP.Net Session Value UserID = "+sUID+"</H1><br><br>");
out.print("<H1>ASP.Net Session Value Power = "+sPower+"</H1><br><br>");
}
rs.close();
db.dbConnClose();
%>
好了,虽然不是很好的方法,但也可以用,也同样保护了用户的一些敏感数据
我将继续考虑使用序列化和反序列化的方式来达到不同的WEB语言之间共享Session对象而不是上面的,共享Session的值。
介绍:ASP.NET中登录后,JSP可以用ASP.Net中的Session的值。
这个话题刚开始,宝宝的思路是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(用户编号)这个敏感数据了.
建立一张表
table name:
iis_session
field name :
id varchar(26) --存放ASP.NET的SessionID
userid int(4) --存放登录成功后的用户编号
power int(4) --存放用户的权限编号
ASP.NET程序源码片段:
/*登录成功后,可将下列CODEING放在登录的验证ASPX页面中*/
//记录 Session value 到数据库
private void WriteSession2DB(string sessionID,string sUID,string sPWR)
{
//连接数据库代码,读者自行添加
string sessID = sessionID;
string strSQL = "insert into iis_session(id,userid,power) values(@seionID,@UID,@PWR)";
//webmod.sqlConn是数据库的连接对象,读者自行替换成自己的数据库连接
SqlCommand sqlCmd = new SqlCommand(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过程中*/
//删除数据库中的 Session value
private void RemoveSession4DB()
{
//连接数据库代码,读者自行添加
string sessID = Session.SessionID;
string strSQL = "delete from iis_session where id='"+sessID+"'";
//webmod.sqlConn是数据库的连接对象,读者自行替换成自己的数据库连接
SqlCommand sqlCmd = new SqlCommand(strSQL,webmod.sqlConn);
sqlCmd.ExecuteNonQuery();
//关闭数据库连接,读者自行添加
}
/*一个重定向到JSP的ASPX页面,在这个ASPX页面的PAGE_LOAD中添加如下代码*/
private void Page_Load(object sender, System.EventArgs e)
{
string strSessionID = Session.SessionID.Trim();
String strRoot = "http://localhost/test.jsp?aspnetsessionid="+strSessionID;
Response.Redirect(strRoot,true);
}
JSP程序源码片段:
<%@ page contentType="text/html;charset=gb2312"%>
<%
/*
自己的数据库连接类,用户可以自己替换
*/
%>
<jsp:useBean id="db" scope="page" class="com.itbaby.bean.dbx.database"/>
<%
String sASPNetSessionID=request.getParameter("aspnetsessionid");
//使用了连接池连接数据库,用户可以替换成自己的
String sDBSourceName="itbaby_dbpool";
db.dbConnOpen(sDBSourceName);
String sSql="select userid,power from iis_session where id='"+sASPNetSessionID+"'";
//读者自己替换读出结果集的代码
java.sql.ResultSet rs=db.getRs(sSql);
if(rs.next())
{
String sUID = rs.getString(1);
String sPower = rs.getString(2);
/*将数据库中对应的SESSIONID的值读出来,并显示,如果ASP.NET的SESSION超时,将没有值*/
out.print("<H1>ASP.Net Session Value UserID = "+sUID+"</H1><br><br>");
out.print("<H1>ASP.Net Session Value Power = "+sPower+"</H1><br><br>");
}
rs.close();
db.dbConnClose();
%>
好了,虽然不是很好的方法,但也可以用,也同样保护了用户的一些敏感数据
我将继续考虑使用序列化和反序列化的方式来达到不同的WEB语言之间共享Session对象而不是上面的,共享Session的值。
发表评论
-
利用jsp读取远程文件保存到本地
2010-07-14 18:02 1837本文介绍利用jsp读取远程文件保存到本地的文章专题。 用js ... -
jsp+tomcat+mysql&sevlet&javabean配置
2010-07-14 18:01 677在配置jsp开发环境的过 ... -
JSP中用bean封装常用的功能
2010-07-14 18:00 710本文介绍JSP中用bean封装常用的功能的文章专题。 1、建 ... -
JSP中关于html的转换技巧
2010-07-14 17:59 609本文介绍JSP中关于html的转换技巧的文章专题。 publ ... -
在JSP中设置HTTP应答头
2010-07-14 17:58 766本文介绍在JSP中设置HTTP应答头的文章专题。 Prime ... -
在JSP中访问CORBA服务对象实例
2010-07-14 17:58 801结合J2EE和CORBA可以充分 ... -
学习jsp与javascript结合在页面间传递参数
2010-07-14 17:57 1282本文介绍学习jsp与javascript结合在页面间传递参数的 ... -
JSP Commons FileUpload 组件上传文件的总结
2010-07-14 17:57 907本文介绍JSP Commons FileUpload 组件上传 ... -
JSP开发前设置
2010-07-14 17:56 681由于朋友问起我开发JSP前都要做些什么,就写了这篇东东。 ? ... -
JSP应用语法详解集三
2010-07-14 17:56 730本文介绍JSP应用语法详 ... -
JSP应用语法详解集二
2010-07-14 17:55 676本文介绍JSP应用语法详解集二的文章专题。 8)标签: 转发 ... -
JSP应用语法详解集一
2010-07-14 17:55 597本文介绍JSP应用语法详解:HTML注释,隐藏注释,Page指 ... -
提升JSP应用程序的7大绝招
2010-07-14 17:54 728本文的目的是通过对servlet和JSP的一些调优技术来极大地 ... -
JSP技巧之:session在何时被创建
2010-07-14 17:54 642本文介绍JSP技巧之:session在何时被创建的文章专题。 ... -
谈谈JSP的九个隐含对象
2010-07-14 17:53 875本文介绍谈谈JSP的九个隐含对象的文章专题,例如:储存和取得属 ... -
解决JSP与MySQL交互的中文乱码问题
2010-07-14 17:51 668首先实现了一个StringConvert bean(GBtoI ... -
JSP几个常见问题
2010-07-14 17:51 696本文介绍JSP几个常见问题的文章专题,Hashtable和 H ... -
JSp的Taglib Directiv语法,属性概述
2010-07-14 17:50 747指示(directive)允许您使用自定义的标签,为标签库命名 ... -
JSP连接SQL Server 2000系统详细配置
2010-07-14 17:50 592到SUN官方站点(http://java.sun.com)下载 ... -
JSP中标签库的深入研究
2010-07-14 17:50 634标签处理器和标签附加信息需要定位在JSP容器类载入器可以找到的 ...
相关推荐
本文将探讨一种实现ASP.NET与JSP共享Session值的方法,旨在帮助开发者在不同平台间传递和使用Session数据。 首先,我们要理解Session的概念。Session是一种服务器端的存储机制,用于在用户的多个页面请求之间保持...
ASP.NET内置对象包括Request、Response、Session、Application、Cache等,它们为开发者提供了对Web应用程序运行时环境的访问。例如,Request对象用于获取来自客户端的HTTP请求信息,Response对象则用于向客户端发送...
1. **后端服务**:.NET框架的ASP.NET可以作为后台服务器端技术,处理来自JSP的请求,执行数据库操作,如SQL查询,以获取或更新学生信息。 2. **数据访问层**:使用ADO.NET,.NET框架提供了一套完整的数据访问接口,...
综合上述技术,"ASP基于WEB的产品管理系统"可能是一个支持多种编程语言的项目,旨在利用ASP.NET、JAVA、JSP、VB和ASP构建一个用于管理产品信息、库存、订单等业务流程的Web应用。这样的系统通常具备用户认证、权限...
与JSP不同,ASP.NET的运行机制基于编译模型。当.aspx文件首次被请求时,ASP.NET引擎会解析页面的后台代码,生成一个页面类,并对其进行编译。第二次请求同一个页面时,不再需要重复编译,而是直接实例化页面类来处理...
.NET框架与JSP(JavaServer Pages)通常是在不同的开发环境中使用的,.NET主要适用于微软的ASP.NET平台,而JSP则是Java生态系统的一部分。然而,在某些情况下,开发者可能需要在JSP应用中集成.NET编写的组件或服务,...
- **ASP.NET与ASP对比**:解释了ASP.NET相对于旧版ASP的主要改进和区别。 - **ASP.NET与Java**:比较两种技术在Web开发方面的优缺点。 - **新一代的人机界面**:介绍现代Web应用中使用的用户界面技术。 - **...
13. 列举 ASP.NET 中的七个内置对象:Request、Response、Server、Session、Application、Context、Cache。 14. URL 的中文意思是指统一资源定位符。 15. DTD 最大的作用就是验证 XML 文件的正确性。 五、框架结构 ...
与Session不同,它不依赖于特定用户,适用于存储需要跨用户共享的信息。在JSP.NET中,使用`Application["key"] = value;`存储,`Application["key"]`读取。 8. **查询数据库** 如果数据量较大或者需要持久化存储,...
**定义**: `Session`对象代表了一个客户端与服务器之间的一次会话,从客户端首次连接到服务器的应用程序开始,直到客户端与服务器断开连接或会话超时为止。 **实例类型**: `Session`对象通常是一个`HttpSession`类...
【ASP.NET站点导航控件与母版页】 ASP.NET中的站点导航控件是构建网站结构的重要工具,它们帮助用户在网站中轻松地找到所需信息。本章主要关注站点导航控件和母版页的使用,适合ASP.NET初学者学习。 在回顾部分,...
【ASP.NET站点导航控件与母版页】 在ASP.NET开发中,站点导航控件和母版页是构建高效、可维护网站的重要工具。在北大青鸟ACCP5.0课程的第三章中,主要讲解了这两部分的内容,旨在帮助学员掌握如何构建清晰的网站...
但相比于ASP和ASP.NET,JSP在现代Web开发中使用较少。 综上所述,这个基于ASP的售后服务管理系统源码可能包含了一个使用ASP技术的前端页面,以及可能用到的ASP.NET或Java技术实现的后端服务。通过分析和学习这些...
在ASP.NET中,Session是一个会话级别的存储容器,它允许开发者在用户的不同请求之间保持数据。当用户打开一个网页,服务器为该用户分配一个唯一的SessionID,然后所有在这个会话期间通过Session存储的数据都会与这个...
1. ASP.NET 与 JSP 的比较: ASP.NET 提供了更便捷、高效的开发环境,能够轻松绑定数据源,并且内置样式支持,使得页面展示更美观。然而,尽管 ASP.NET 控件可以直接显示数据,对于复杂的操作如排序、分页,通常...
6. **ASP.NET的进化**:尽管现在的Web开发趋势更倾向于ASP.NET,它是ASP的升级版,但基础的ASP技术仍然是理解和学习ASP.NET的重要基石。ASP.NET引入了更强大的编程模型,如C#和VB.NET,以及ASP.NET控件和.NET ...
ASP.NET是微软的Web开发框架,与JSP类似,用于构建动态网站。这些标签可能是为了表明该源码可以作为不同Web开发技术的学习对比。 【压缩包子文件的文件名称列表】中的"MF00121-JAVA企业网站源码"可能代表项目的内部...
5. ASP的扩展性:虽然ASP本身功能有限,但可以通过引入ASP.NET、JSP或PHP等更现代的技术进行扩展。ASP.NET是ASP的升级版,提供了更丰富的功能和更高的性能,而JSP和PHP则是跨平台的替代方案,分别由Java和PHP语言...