• 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隐藏域

                        

                         

  • 相关阅读:
    C# 非UI线程向UI线程发送数据的两种方法
    c# 富客户端使用 MethodInvoker简化代码
    Unable to resolve service for type 'Microsoft.Extensions.Logging.ILogger' while attempting to activate 'xxxx'.
    弃元
    Serilog 配置基础知识
    测试软件开发准则--基于TTStand
    SuperSocketHostBuilder<TReceivePackage>
    Ext CheckBoxGroup使用
    2020年12月28日 新工作新旅程
    2021年全国计算机等级考试报名照片制作教程(压缩、裁剪、换白底)
  • 原文地址:https://www.cnblogs.com/JhoneLee/p/3731013.html
Copyright © 2020-2023  润新知