ASP.NET和JSP相似方法总结(持续中。。)
一.HTTP请求处理
1.获取GET请求数据
ASP.NET:Request.QueryString[name]
JSP:request.getParameter(String name);
2.解决字符串乱码问题:
NameValueCollection coding;
coding = HttpUtility.ParseQueryString(Request.Url.Query,Encoding.GetEncoding("UTF-8"));
string queryValue=coding["name"];
处理GET乱码 ASP.NET
request.setCharacterEncoding("utf-8");
//or
requert.setContentType("text/html,charset=utf-8");
JSP 处理GET乱码
二、页面间跳转
ASP.NET: Server.Transfer("move.htm");
JSP:页面forward指令:<jsp:forward page="a.jsp"> 或者:request.getResultDispather("/a.jsp").forward(request,response);
2.改变url页面跳转
ASP.NET:Response.Redirect("move.htm");
JSP:response.sendRedirect("/a.jsp");
注:1和2两种跳转的区别:第一种,跳转后不会销毁request对象。第二种跳转后会销毁并重建request对象。
三、页面间传值
1.使用request对象传值
ASP.NET:a页面:Server.Transfer("b.aspx"); b页面:Request.QueryString["name"]; 即可取值。
JSP:request.setAttribute("name","jack"); request.getResultDispather("/a.jsp").forward(request,response);跳转后,String name=request.getAttribute("name");
2.使用url传值
ASP.NET:同Request.QueryString方式。
JSP: 在url中记录name value键值对,通过跳转后的页面的request.getParameter("name");
3.使用session传值
ASP.NET: Session["key"]=value; 使用 var val=Session["key"];
JSP: session.setAttribute("key","value"); 使用:String val=session.getAttribute("key");
4.application传值
ASP.NET: Appliaction.Add("key","value"); 使用 Application["key"]
JSP: application.setAttribute("key","value"); 使用:String val=application.getAttribute("key"); java中使用application需要解决并发的问题,最好用synchronized(application){.....something}
5.Cookie传值
ASP.NET: Response.Cookies["name"]=jack;
JSP: Cookie cook=new Cookie("name","jack"); Cookie[] cook=request.getCookies(); cook[i].getValue;
6.Page传值
ASP.NET: 设置 IButtonControl接口的控件的 PostBackUrl=url,url页面使用Page.PerviousPage属性获取上一个页面的内容。但是不能随便读取该页面的控件属性值。因为控件的属性都是protect的。同样可以判断Page.PerviousPage的IsCrossPagePostBack属性来判断是否是PostBackUrl跨页回发。用于区分它和Server.Transfer的跨页。
四、常见问题处理
1.禁用了Cookie后如何使session正常工作?(因为SessionId保存在客户端Cookie文件中。如果禁用Cookie则导致session不正常)
ASP.NET: 不会存在Cookie被禁用Session就会停止工作的现象。因为ASP.NET可以通过配置,将Session内容保存在 web.config、SqlServer、url、其他进程中
JSP: JSP需要将SessionId保存在url中进行传递。
2.如何前后台传值?
后台向前台传值:使用<%=%>,使用ajax
前台向后台传值:使用url 使用ajax 使用input隐藏域
ASP.NET和JSP相似方法总结(持续中。。)的更多相关文章
- ewebeditor编辑器ASP/ASPX/PHP/JSP版本漏洞利用总结及解决方法
这个编辑器按脚本分主要有4个版本,ASP/ASPX/PHP/JSP 每个版本都有可以利用的漏洞.判断网站是否使用了eWebEditor查看程序源代码,看看源码中是否存在类似”ewebeditor.as ...
- ASP.NET 实现伪静态网页方法
方法一:利用Httphandler实现URL重写(伪URL及伪静态) 我们有时候会见到这样的地址:“http://www.huoho.com/show-12-34.html”,你或许认为在站点服务器根 ...
- 【配置】检测到在集成的托管管道模式下不适用的ASP.NET设置的解决方法(非简单设置为【经典】模式)。
× 检测到在集成的托管管道模式下不适用的ASP.NET设置的解决方法(非简单设置为[经典]模式). 我们将ASP.NET程序从IIS6移植到IIS7,可能运行提示以下错误: HTTP 错误 5 ...
- 提高ASP.net性能的十种方法
提高ASP.net性能的十种方法 2014-10-24 空城66 摘自 博客园 阅 67 转 1 转藏到我的图书馆 微信分享: 今天无意中看了一篇关于提高ASP.NET性能的文章,个人 ...
- Asp.net 与 jsp 交互 (打开或跳转页面)
//// 打开固定大小窗体 Response.Write("<script>window.open('Tree1_edit.aspx','child','width=300,he ...
- [ASP.NET]更简单的方法:FormsAuthentication登录ReturnUrl使用绝对路径
转自:http://www.cnblogs.com/dudu/p/formsauthentication-returnurl-absoluteuri.html [ASP.NET]更简单的方法:Form ...
- ASP.NET获取路径的方法
原文:[转载]ASP.NET获取路径的方法 HttpContext.Current.Request.PhysicalPath; // 获得当前页面的完整物理路径.比如 F:\XFU.NSQS\p ...
- ASP.NET常用加密解密方法
ASP.NET常用加密解密方法 一.MD5加密解密 1.加密 C# 代码 public static string ToMd5(string clearString) ...
- ASP.Net MVC_DotNetZip简单使用方法,解决文件压缩的问题[转]
准备工作: 在vs工具栏中找到NuGet 下载DotNetZip 现在就可以使用DotNetZip强大的类库了,在这里我给出一些简单的使用. ? 1 2 3 4 5 6 7 8 9 10 11 ...
随机推荐
- <bootstrap>bs2和3的区别</bootstrap>
实验室的list网站开始动工了,准备打算用bootstrap作布局. 大前天去本部停了长html5峰会大连站的讲演,着急往回赶,很多感兴趣的东西都没有听到,但是还是了解了一些html5的新特性 电脑端 ...
- oracle group 语句探究(笔记)
1.group by语句在oracle中没有排序功能,必须依靠order by才能实现按照预定结果的排序 2.group by 的cube扩展 with test as ( id, name from ...
- Swift Tips - 在 Swift 中自定义下标访问
Untitled Document.md input[type="date"].form-control,.input-group-sm>input[type="d ...
- PHP闭包(Closure)初探
不知不觉发现PHP已经出到了5.5版本,而自己一直在用PHP5.2,让我看起来像深山出来的小伙子一样,又土又落后.在我习惯在javascript中使用闭包之后,忽然间对PHP的闭包打起了兴趣. 于是乎 ...
- LoadRunner - 当DiscuzNT遇上了Loadrunner(下) (转发)
当DiscuzNT遇上了Loadrunner(下) 在之前的两篇文章中,基本上介绍了如何录制脚本和生成并发用户,同时还对测试报告中的几个图表做了简单的说明.今天这篇文章做为这个系列的最后一篇,将会介绍 ...
- LoadRunner - 当DiscuzNT遇上了Loadrunner(中) (转发)
当DiscuzNT遇上了Loadrunner(中) 在上文中,介绍了如果录制脚本和设置脚本执行次数.如果经过调试脚本能够正常工作的话,就可以设置并发用户数并进行压力测试了. 首先我们通过脚本编辑界面上 ...
- 认识Linux
Linux的内核版本 1.如何查看Linux的内核版本 # uname -r -.el6.i686 2. 2.6.32-358的含义 主版本.次版本.释出版本-修改版本 3.主次版本编号规则 ...
- 微软职位内部推荐-Senior SDE
微软近期Open的职位: Position: Senior SDE-- Mobile Products Android/iOS/WP Senior Developer Contact Person: ...
- why does angular js rock
angularjs 入门教程 http://angular-tips.com/blog/2013/08/why-does-angular-dot-js-rock/ Practive the previ ...
- Net Core 的公共组件之 Http 请求客户端
Net Core 的公共组件之 Http 请求客户端 想必大家在项目开发的时候应该都在程序中调用过自己内部的接口或者使用过第三方提供的接口,咱今天不讨论 REST ,最常用的请求应该就是 GET 和 ...