jsp内置对象 订阅
JSP的内置对象是指在JSP页面系统中已经默认内置的Java对象,这些对象不需要开发人员显式声明即可使用。在JSP页面中,可以通过存取JSP内置对象实现与JSP页面和Servlet环境的相互访问。每个内部对象均有对应所属的ServletAPI类型。 [1] 展开全文
JSP的内置对象是指在JSP页面系统中已经默认内置的Java对象,这些对象不需要开发人员显式声明即可使用。在JSP页面中,可以通过存取JSP内置对象实现与JSP页面和Servlet环境的相互访问。每个内部对象均有对应所属的ServletAPI类型。 [1]
信息
所属学科
计算机科学技术
外文名
Java Server Page built-in objects
特    点
所有JSP页面均可使用等
中文名
JSP内置对象
主要组成
out、request等
实    质
在JSP页面系统中已经默认内置的Java对象
jsp内置对象JSP
JSP(Java Server Page)是为了简化Servlet的工作而出现的替代品。Sun公司1997年推出了ServletAPI以及第一款Java Web服务器。早期的Java Web层体系结构中只有Servlet。接受用户请求,处理业务逻辑,生成HTML显示结果都是在Servlet中完成的。虽然Servlet可以胜任所有的工作,但是Servlet中不能像PHP、ASP等镶嵌HTML代码,输出HTML比较困难,而且部署过程也比较复杂。为了克服Servlet的这些弱点,Sun公司在1999年初推出了JSP1.0。作为对Servlet的一个补充,JSP在生成HTML代码上比Servlet方便许多,而且不需要特殊部署,只需要复制到服务器下面即可运行。在经历了几次重大的版本升级之后,JSP升级到了2.1版本,功能也比第一版JSP强大了很多。JSP包括很多技术,包括Java Bean、自定义标签(Custom Tags)、EL表达式(Expression Language)、JSTL标准标签类库(Java Standard Tag Library)等。这些强大成熟的技术使得JSP在视图层(View)有很大的优势。JSP的界面中可以直接编写Java代码,这为开发人员提供了极大的便利,自从推出JSP1.0后,便得到了广泛的应用。 [2] 
收起全文
精华内容
下载资源
问答
  • jsp内置对象
    千次阅读
    2022-03-29 20:06:03

    第二章 jsp内置对象与四种作用域

    本章内容

    • 九种内置对象
    • 四种作用域

    • 九大内置对象

    1、Request:请求对象。

    2、Response:响应对象。

    3、Session:会话对象。

    4、Application:应用程序对象。

    5、Out:输出对象。

    6、Config:配置对象。

    7、Page:页面对象。

    8、PageContext:页面上下文对象。

    9、Exception:例外对象。

    1. (1) Request:请求对象

    该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息。 Request常用的方法如下

    方法名

    作用

    getParameter(String strTextName)

    获取表单提交的信息

    request.getParameterValues(String name)

    获取多个元素值,返回数组

    request.setCharacterEncoding("UTF-8");

    处理post提交的乱码请求

    request.getRequestDispatcher(URL).forward(request,response)

    将当前页面转发到下一页面

    getProtocol()

    获取客户使用的协议

    getServletPath()

    获取客户提交信息的页面

    getMethod()

    获取客户提交信息的方式

    getRermoteAddr()

    获取客户的IP地址

    getRemoteHost()

    获取客户机的名称

    getServerPort()

    获取服务器的端口号

    getParameterNames()

    获取客户端提交的所有参数的名字

    getServerName()

    获取服务器名称

    注意:中文乱码处理方法

    当Request对象获取客户提交的汉字字符时,会出现乱码问题,必须进行特殊处理。首先,将获取的字符串用ISO-8859-1进行编码,并将编码存发到一个字节数组中,然后再将这个数组转化为字符串对象即可。

    例:语法
    String textContent=request.getParameter("boy");  

    byte b[]=textContent.getBytes("ISO-8859-1");  

    textContent=new String(b,UTF-8”);

    案例1: request内置对象使用

    1. (2) Response:响应对象

    对客户的请求进行动态的响应,向客户端发送数据。

    1. Response重定向

    在某些情况下,当响应客户时,需要将客户重新引导至另一个页面,可以使用Response的sendRedirect(URL)方法实现客户的重定向。

    例如:

    response.sendRedirect("index.jsp"); 

    案例2: response内置对象使用

    1. 重定向与转发的区别

    重定向:response.sendRedirect("URL");
    转发:request.getRequestDispatcher("URL").forward(request,response);

    1.转发在服务器端完成的;重定向是在客户端完成的
    2.转发的速度快;重定向速度慢
    3.转发的是同一次请求;重定向是两次不同请求
    4.转发地址栏没有变化;重定向地址栏有变化
    5.转发必须是在同一台服务器下完成;重定向可以在不同的服务器下完成

    1. (3) Session:会话对象

    1)什么是Session对象

    Session对象是一个JSP内置对象,它在第一个JSP页面被装载时自动创建,完成会话期管理。从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间切换,服务器应当通过某种办法知道这是一个客户,就需要Session对象。

    Session失效:1关闭服务器  2关闭浏览器

    2)Session对象的ID

    当一个客户首次访问服务器上的一个JSP页面时,JSP引擎产生一个Session对象,同时分配一个String类型的ID号,JSP引擎同时将这个ID号发送到客户端,存放在Cookie中,这样Session对象,直到客户关闭浏览器后,服务器端才将该客户的Session对象取消,并且和客户的会话对应关系消失。当客户重新打开浏览器再连接到该服务器时,服务器为该客户再创建一个新的Session对象。

    3)Session对象的常用方法

    方法名

    作用

    public String getId()

    获取Session对象编号

    public void setAttribute(String key,Object obj)

    将参数Object指定的对象obj添加到Session对象中,并为添加的对象指定索引关键字

    public Object getAttribute(String key)

    获取Session对象中含有关键字的对象

    public Boolean isNew()

    判断是否是一个新的客户

    案例3:session内置对象使用

    扩展案例3:使用include包含

    (4) Application:应用程序对象

    1)什么是Application对象

    服务器启动后就产生了这个Application对象,当客户再所访问的网站的各个页面之间浏览时,这个Application对象都是同一个,直到服务器关闭。但是与Session对象不同的是,所有客户的Application对象都是同一个,即所有客户共享这个内置的Application对象。

    2)Application对象的常用方法

    方法名

    作用

    setAttribute(String key,Object obj)

    将参数Object指定的对象obj添加到Application对象中,并为添加的对象指定索引关键字。

    getAttribute(String key)

    获取Application对象中含有关键字的对象。

    案例4:网页访问量     

    在filter的内容里

    https://blog.csdn.net/qq_50794782/article/details/123820930?spm=1001.2014.3001.5502

    (5) Out:输出对象

    Out对象是一个输出流,用来向客户端输出数据。Out对象用于各种数据的输出。

    其常用方法如下。

    方法名

    作用

    out.print()

    输出各种类型数据

    out.newLine()

    输出一个换行符

    out.close()

    关闭流

    (6) Config:配置对象

    一般我们使用Config对象来获取一些初始化配置信息,常用的方法有getInitParameter和getInitParameterNames,以获得Servlet初始化时的参数。

    此外,还可以通过getServletContext()方法取得ServletContext。一个ServletContext对象,它能给出Servlet如何与服务器交互的信息。ServletContext对象是服务器传给这个Servlet的。在ServletConfig接口中定义ServletContext对象是其中的一部分

    (7) Page:页面对象

    Page对象代表了正在运行的由JSP文件产生的类对象,不建议一般使用。

    (8) PageContext:页面上下文对象

    作用:取得任何范围的参数

    通过它可以获取jsp页面的out,request,reponse等对象

    JSP引入了一个名为PageContext的类,通过它可以访问页面的许多属性。PageContext变量存储与当前页面相关联的PageContext对象的值。

    PageContext类拥有getRequest、getResponse、getOut、getSession等方法。如果需要访问多个与页面相关的对象,传递pageContext要比传递request、response、out等的独立引用更容易。

    (9) Exception:例外对象   

    作用是显示异常信息

    Exception对象代表了JSP文件运行时所产生的例外对象,此对象不能在一般JSP文件中直接使用,而只能在使用了<%@ page isErrorPage="true "%>的JSP文件中使用,这是因为JSP文件运行时产生的错误对象被向外抛出,只能被使用了<%@ page isErrorPage="true "%>标记从而具有拦截错误对象功能的JSP所拦截。最常用的方法就是getMessage,用以获得错误信息,此外还会用到 getLocalizedMessage和 printStackTrace。

    配置错误页面流程:

    1、web.xml中配置

      <error-page>
    
       <error-code>404</error-code>
    
      <location>/error404.jsp</location>
    
     </error-page>


    2、在error404.jsp页面配置

    <%

         response.setStatus(HttpServletResponse.SC_EXPECTATION_FAILED);

        %>

     

    获得异常类:exception.getClass()

    获得异常信息:exception.getMessage()

    二、四大作用域

    作用域:“数据共享的范围”,也就是说数据能够在多大的范围内有效

    Web应用中,JSP创建的对象有一定的生命周期,也有可能被其他组件或者对象访问。对象的声明周期和可访问性称为作用域。四种范围对象作用域从小到大顺序如下:pageContext----request----session----application。

    (1)pageContext:页面域  第四  在当前页面有效

    它可以获取其它八大隐式对象,可以认为它是一个入口对象。

    页面作用域仅限于当前页面对象,可以近似于理解为java的this对象,离开当前JSP页面(无论是redirect还是forward),则pageContext中的所有属性值就会丢失。

    (2)request:请求域 第三   在当前请求中有效

      请求作用域是同一个请求之内,在页面跳转时,如果通过forward方式跳转,则forward目标页面仍然可以拿到request中的属性值。如果通过redirect方式进行页面跳转,由于redirect相当于重新发出的请求,此种场景下,request中的属性值会丢失。

    (3)session:会话域 第二  在当前会话中有效

    会话作用域是在一个会话的生命周期内,会话失效,则session中的数据也随之丢失。

    (4)application: 应用域 范围最大  整个应用都有效

    应用作用域是最大的,只要服务器不停止,则application对象就一直存在,并且为所有会话所共享。 

    更多相关内容
  • JSP内置对象实验报告
  • JSP内置对象之request对象客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。序号 方 法 说 明 1 object getAttribute(String name) 返回指定...
  • 本学期javaWeb课程实验源码,本次实验是练习jsp内置对象的使用,包括登录注册以及验证共4个jsp页面,另外还有一个cookies的操作页面,具体教程可看本人博客
  • JSP内置对象

    2019-04-06 01:30:34
    JSP内置对象.rar,JSP内置对象.html
  • 创建两个jsp页面,computer_book.jsp和history_book.jsp 分别为计算机图书页面和历史图书页面,两个页面构造方法相同。首先设置一个标题提示是历史还是计算机图书,然后通过表格的形式写入多种图书,包括书名,价格...
  • jsp内置对象

    2021-01-08 21:07:00
    JSP中一共预先定义了9个这样的对象,分别为:request、response、session、application、out、pagecontext、config、page、exception 1、request对象 request对象代表了客户端的请求信息,主要用于接受通过HTTP协议...
  • show.jsp 考试开始,总分为2分 第一题: 诗仙李白是中国历史上哪个朝代的人: 宋朝 唐朝 明朝 元朝 第二题: 小说红楼梦的作者是: 曹雪芹 罗贯中 李白 司马迁 showResult.jsp 考生选择的答案为: ...
  • 5.2 JSP内置对象.pdf

    2020-12-21 22:02:32
    5.2 JSP内置对象.pdf
  • Web编程(Java )-JSP内置对象的应用--实验报告
  • 一、JSP内置对象练习 1、使用JSP中的session对象,实现用户登陆检验 (1)(1)web目录下的session-login目录中,新建login.jsp(允许用户输入用户名和密码), 在usercheck.jsp中进行验证,成功则显示index.jsp...
  • jsp.rar_jsp内置对象

    2022-09-24 00:47:30
    jsp九种内置对象的用法和实例 这是老师上课的重点 希望对新手有帮助
  • JSP内置对象理解9大内置对象分类1.request(请求对象)2.response(响应对象)3.session(会话对象)4.application(应用程序对象)5.page(页面对象)6.pageContext(页面上下文对象)7.out(输出对象)8.config(配置对象)9....

    理解

    1.JavaEE规范中对JSP的内置对象只提供了接口,而具体的实现类由所使用的web服务器提供,当服务器启动时,服务器会自动将这些接口的实现类创建并赋值给对应JSP内置对象变量,在页面中才能使用这些内置对象。

    2.JSP内置对象在JSP页面中可以直接使用,不需要声明或创建对象,但在Servlet中不能直接使用(request和respons两个对象除外),其他相关内置对象可以通过request对象获取

    9大内置对象分类

    1.request(请求对象)

    • 该对象是“HttpServletRequest”接口的一个实现类对象,该对象表示客户端向服务端发送的一次请求;
    • 该对象属于“作用域”对象,它的作用域仅限于一次请求期:该作用域从客户端向服务端发送请求开始,服务端接受到客户端请求后终止(我们可以通过请求转发将该请求延长),在request对象中存放的数据只能在其作用域内起作用。

    常用方法
    1.设置request对象的编码集: 默认情况下客户端向服务端提交的数据如果存在英文会出现乱码,则需要设置request对象的编码集。

    request.setCharacterEncoding("UTF-8");
    

    2.根据参数名获得对应的参数值:

    request.getParameter("paramName");
    

    eg.

    String username=request.getParameter("username");
    String password=request.getParameter("password");
    

    3.根据参数名获得一组同名的参数值,返回字符串数组:

    request.getParameterValues("paramName");
    

    4.向request作用域中设置一个属性:参数1"attrName"为属性名,参数 2"attrName"为属性值(Object)

    request.setAttribute(attrName,attrName);
    

    eg.

    //登录失败
    request.setAttribute("errMSG","用户名或密码错误!");
    

    5.根据属性名获取属性值:从request作用域中获取一个属性的值,默认为Object类型

    request.getAttribute(attrName);
    

    6.请求转发:使用请求转发实现页面跳转,请求转发可以将请求对象转发到指定位置(其他页面或 Servlet 中)

    request.getRequestDispatch(url).forward(request,response);
    

    2.response(响应对象)

    • 该对象属于 HttpServletResponse 接口的一个实例,该对象表示服务端向客户端发送的一次回应

    常用方法
    1.重定向:url为目标地址

    response.sendRedirect(url);
    

    2.设置响应的内容类型与编码集:

    response.setContentType("text/html;charset=utf-8");
    

    3.获得一个输出流 ,通过该输出流可以向客户端直接输出内容,如果需要输出中文则需要设置“内容类型”:

    response.getWriter();
    

    补充–请求转发和重定向的区别:

    • 相同点:可以实现页面跳转。
    • 不同点:
      (1)使用请求转发实现页面跳转后,地址栏显示的地址为请求转发的源地址而不是目标地址。使用重定向实现页面跳转后,地址栏显示的是目标地址。
      (2)请求转发不仅可以传递字符串数据还可以将请求对象传递给目标地址。重定只能传递字符串数据。
      (3)请求转发属于服务器内部转发,不会由客户端发送新请求。重定向是由客户端再次发送的一次请求。

    3.session(会话对象)

    • 该对象是"HttpSession"接口的一个实现类对象
    • session表示一次会话,什么是会话呢?
      (1)会话指“请求与响应”的集合;
      (2)会话指客户端“第一次”向服务端发送请求开始,直到“客户端的浏览器关闭”或“服务端关闭”或“超时”或“服务端手动销毁”终止;
      (3)在会话开始到会话结束,期间的所有“请求和响应”都在同一个会话中。
    • 在JavaWeb中会存在session的原因?
      (1)首先理解Http协议:Http协议是一个“无状态”的协议,无状态指在该协议下客户端与服务端的连接状态不会保持;
      (2)由于在使用Http协议的情况下,服务端无法确定新的请求之前是否请求过,但是通过session却可以维护当前客户端和服务端的状态
      在这里插入图片描述(3)web开发中可以通过session机制来维持客户端与服务端的关系。
    • Web应用如何通过session类来维持客户端与服务端的关系呢?【靠sessionId维持
      (1)当客户端第一次访问服务端时,服务端检测请求中是否存在sessionId,如果不存在则表示该客户端是第一次访问;
      (2)服务端创建一个session对象并生成一个唯一的sessionId,将session对象及sessionId存入到服务端,并将sessionId响应到客户端;
      (3)客户端浏览器接收到服务端响应的sessionId后,会自动的将该sessionId保存下来(临时存储);
      (4)其次客户端每次向服务端发送请求时,都会将sessionId自动发送到服务端;
      (5)服务端接收到sessionId检测该Id是否有效,如果有效则表示该客户端不是第一次访问,通过可以从session对象获取存储的数据。
    • session依赖于浏览器,不同的浏览器访问同一个服务器时会产生不同sessionId
    • session也属于作用域对象,其作用域为第一次请求到session销毁结束,在作用域内的数据对同一个session是共享的。
    • session开始和销毁的条件
      • session开始:当第一次访问服务端时session开始
      • session销毁
        a.关闭浏览器
        b.服务端手动销毁session,使用
        session.invalidate();
        
        c.超时,当客户端在一定时间内未向服务端发送任何请求时,服务端虎认为该session失效自动销毁(tomcat的默认超时时间为30分钟)
        d.服务器关闭或重启

    session的常用方法
    1.获得sessionId

    session.getId();
    

    2.销毁session

    session.invalidate();
    

    3.向session作用域中存放一个属性

    session.setAttribute(attrName,attrValue);
    

    4.从session中获取一个属性值

    session.getAttribute(attrName);
    

    5.从session中移除一个属性

    session.removeAttribute();
    

    4.application(应用程序对象)

    • 该对象是ServletContext接口的一个实现类对象,该对象表示当前“应用服务器”;

    • 该对象也属于作用域对象,其中可以存放数据,但该对象的作用域为整个应用服务器,因此在application对象存放的数据为整个服务器的共享数据,关于用户的隐私数据不允许在该对象存放;
      常用方法
      (1)向 application 对象中添加一个属性:

      application.setAttribute(“name”,obj);
      

      (2)从 application 获取一个属性,根据属性名获取:

      application.getAttribute(“name”);
      

    5.page(页面对象)

    • 当前页面对象,等同于this关键字。

    6.pageContext(页面上下文对象)

    • 该对象为一个作用域对象,可以通过pageContext对象在当前页面存储数据,它的作用域仅限于当前页面;
    • 可以通过pageContext对象获取其他内置对象。

    7.out(输出对象)

    • 该对象是一个输出流对象,用于向页面输出内容。

    8.config(配置对象)

    • config对象为配置对象,在页面中可以获取配置信息。

    9.exception(异常对象)

    • 该对象为异常对象,使用该对象可以在JSP页面中处理异常。

    1. 结束语:有任何意见或者建议欢迎投稿哦~喜欢就给小明同学点个赞吧!

    开心

    展开全文
  • jsp内置对象聊天系统

    2018-04-28 14:46:06
    使用jsp内置对象做的一个demo,基本实现了最基本的操作,完成了应有的功能。
  • 1.写一个简单的JSP程序,并证实输出结果(输出 HELLO WORLD之类的); 2.写一个JSP程序,并用到内置对象,并证实输出结果。
  • 隐式对象 request 对象
  • 作用域通信对象 pageContext request session application
  • jsp内置对象之request

    2022-05-16 17:49:05
    Response和request对象是jsp内置对象中比较重要的两个,这两个对象提供了对服务器和浏览器通信方法的控制。 http协议规定了信息在internet上的传输方法,特别规定了浏览器和服务器的交互方法。从网站获取页面时,...

    一、内置对象概述

    有些对象不用声明即可在jsp页面的java程序片和表达式中使用,这就是jsp 的内置对象。Jsp的常用的内置对象有request,response,session,aplication和out。Response和request对象是jsp内置对象中比较重要的两个,这两个对象提供了对服务器和浏览器通信方法的控制。   

    http协议规定了信息在internet上的传输方法,特别规定了浏览器和服务器的交互方法。从网站获取页面时,浏览器在网站上打开了一个对网络服务器的连接,并发出请求。服务器收到请求后回应,所以http协议被称作“请求和响应”协议。浏览器请求有某种结构,http请求包括一个请求行、头域和可能的信息体。最普通的请求类型是对页面的一个简单请求。如下例,

    Get/hello.html HTTP/1.1

    Host:www.sina.com.cn

    这是对网站www.sina.com.cn上页面hello.html的HTTP请求例子。首行是请求行,规定了请求的方法,请求的资源及使用的HTTP协议的版本。上例中,请求的方法是get方法,此方法获取特定的资源。上例中get方法,用来获取名为hello.html的网页。其他请求方法包括post,head,delete,trace及put方法等。

    此例的第二行是头(header)。Host头给出了网站上hello.html文件的Internet地址。此例中,主机是www.sina.com.cn.

    二、request对象

    http通信协议是用户与服务器之间一种提交(请求)信息与响应信息(request/response)的通信协议。在jsp中,内置对象request封装了用户提交的信息,那么该对象调用相应的方法可以获取封装的信息,即使用该对象可以获取用户提交的信息。

    内置对象request是实现了ServletRequest接口类的一个实例,可以在tomcat目录找到。

    用户常用html的form表单请求访问服务器的某个jsp网页(或servlet),并提交必要信息给所请求的jsp页面,表单的一般格式是:

    <form action = “tom.jsp” method = “post”>

    <input type = “text” name = “boy” value = “ok” / >

    <input type = “submit” name = “submit” value = “提交”>

    </form>

    Action是form表单的属性,其属性值给出表单请求访问的jsp页面或servlet。form表单中的method属性取值get或post。Get方法和post方法的主要区别是:用get方法提交的数据,会在提交过程中显示在浏览器的地址栏中,而post方法,则不会显示在浏览器的地址栏中。上例的意思是使用post 方法向请求访问的tom.jsp页面提交信息,提交信息的手段是text.

    例子1:

    获取用户提交的信息。

    Request对象获取用户提交信息的最常用方法是getParameter(String s).在下例中。Example4_1.jsp通过表单向example4_1_computer.jsp提交三角形三边的长度,example4_1_computer.jsp负责计算并显示三角形的面积。

    example4_1.jsp

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body bgcolor="pink">
        <form action = "example4_1_computer.jsp" method = get>
            <input type="text" name = "sideA" value = 9 size = 6/>
            <input type="text" name = "sideB" value = 8 size = 6/>
            <input type="text" name = "sideC" value = 8 size = 6/>
            <input type="submit" name = "submit" value = “提交” />
    
        </form>
    
    </body>
    </html>

    example4_1_computer.jsp

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body bgcolor="blue">
        <p style = "font-family:黑体;font-size: 36px;color: red">
            <%  String sideA = request.getParameter("sideA");
                String sideB = request.getParameter("sideB");
                String sideC = request.getParameter("sideC");
                try{  double a = Double.parseDouble(sideA);
                      double b = Double.parseDouble(sideB);
                      double c = Double.parseDouble(sideC);
                      double p = (a+b+c)/2,area = 0;
                      area = Math.sqrt( p * (p - a) * (p - b) * (p - c));
                      String result = String.format("%.2f",area);
                      out.println("<BR三边:" + sideA + "," + sideB + "," + sideC);
                      out.println("<BR>三角形面积(保留2位小数):" + result);
                }
                catch(NumberFormatException ee){
                    out.println("<BR>请输入数字字符");
                }
            %>
        </p>
    </body>
    </html>
    

    表单提交页面

    计算结果页面

     

     

    展开全文
  • 第六章 JSP内置对象

    2021-01-20 14:00:36
    水一篇博客哈哈哈哈哈 如果没有安装apache服务器的先去安装,还有集成开发环境也得装,不然怎么打代码噢。...JSP内置对象包括request、response、session、application、out、pageContext、config、page、except
  • application 对象 application 对象常用方法
  • request 对象是 HttpServletRequestWrapper 类的实例。它的继承体系如下: _request 对象继承层次结构图.png ServletRequest 接口的唯一子接口是 HttpServletRequest ,...request 内置对象是由 Tomcat

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 71,715
精华内容 28,686
关键字:

jsp内置对象

友情链接: Scalper.rar