zoukankan      html  css  js  c++  java
  • JSP题库

    一、    填空题

    1. 一个完整的JSP页面是由普通的HTML标记、JSP指令标记、JSP动作标记、  变量声明 与方法声明  、程序片  、表达式    注释   7种要素构成。
    2. JSP页面的基本构成元素,其中变量和方法声明(Declaration) 、  表达式   (Expression)和Java程序片(Scriptlet)统称为JSP脚本元素   。
    3. 指令标记、JSP动作标记统称为 JSP标记
    4. “<%!”和“%>”之间声明的方法在整个页面内有效,称为页面的成员方法    。
    5. 在“<%!”和“%>”之间声明的变量又称为   页面成员变量    ,其作用范围为整个JSP页面。
    6. JSP页面的程序片中可以插入   HTML    标记。
    7. 当JSP页面的一个客户线程在执行  synchronized  方法时,其他客户必须等待。
    8. JSP页面中,输出型注释的内容写在   “<!--“--> 之间。
    9. .JSP声明函数时,如果在前面加上  synchronize  关键字,功能是当前一个用户在执行该方法时,其他用户必须等待,直到该用户完成操作。
    10. Page指令的属性Language的默认值是  java  
    11. 在Error.jsp页面中,要使用Exception对象,必须设置的指令是   <%@page  isErrorPage  = “true”%>. 
    12. 要使java bean在整个应用程序的声明周期中,被该应用程序中的任何JSP文件所使用,则该java bean的Scope属性必须设置为   application   。
    13. JSP的_  __session__ __对象用来保存单个用户访问时的一些信息。
    14. response对象的_ sendRedirect(URL url)_ _方法可以将当前客户端的请求转到其他页面去。
    15. 当客户端请求一个JSP页面时,JSP容器会将请求信息包装在__ _request__对象中。
    16. response.setHeader(“Refresh”, “5”)的含义是指 页面刷新时间为   5秒__。
    17. 在JSP中为内置对象定义了4种作用范围,即 Application Scope 、Session Scope 、Page Scope 和Request Scope  四个作用范围。
    18. 表单的提交方法包括___ get  ___和___post_   _方法。
    19. 表单标记中的__ action  _属性用于指定处理表单数据程序url的地址。
    20. JavaBean是一个   java   类,它必须有一个  无参的构造   方法。
    21. JSP的是内部对象可以直接使用,它是由   web容器   创建的。
    22. 在JSP中,页面间对象传递的方法: request 、  session 、  application 、 cookie   等方法。
    23. 在jsp页面中,可以用request对象的   getParameterValues()                  方法来获取其他页面传递参数值的数组。
    24. 在JSP中使用JavaBean的标签是  <jsp:useBean class=BeanName id=Bean实例>     ,其中id的用途是  实例化一个Bean对象   。
    25. JavaBean中用一组set方法设置Bean的私有属性值,get方法获得Bean的私有属性值。set和get方法名称与属性名称之间必须对应,也就是:如果属性名称为xxx,那么set和get方法的名称必须为 setXxx()     getXxx()   
    26. 用户在实际Web应用开发中,编写Bean除了要使用import语句引入Java的标准类,可能还需要自己编写的其他类。用户自己编写的被Bean引用的类称之为   Bean的辅助类   
    27. 创建JavaBean的过程和编写Java类的过程基本相似,可以在任何Java的编程环境下完成     编写、编译和发布    。
    28. 布置JavaBean要在Web服务目录的WEB-INFclasses文件夹中建立与   Bean的包名    对应的子目录,用户要注意目录名称的大小写。
    29. 使用Bean首先要在JSP页面中使用   import  指令将Bean引入。
    30. 要想在JSP页面中使用Bean,必须首先使用   <jsp:useBean>      动作标记在页面中定义一个JavaBean的实例。
    31. JSTL标签库中,  c:forEach  标签用来循环输出集合中的数据。
    32. 获取request作用域中名为“uname”值的EL表达式是  ${uname}  
    33. 编写过滤器类需要实现的  Filter   接口。
    34. Filter接口中最主要的方法是  doFilter  方法。
    35. 实现Filter接口的类需要重写doFilter方法、  init  方法、destroy方法。

    二、    选择题

     

    1.

    如果做动态网站开发,以下( A )可以作为服务器端脚本语言(选择一项)

     

     

     

     

    A.

    Java

     

    B.

    Jsp

     

    C.

    Javascript

     

    D.

    Html

     

    2.

    JSP中存在如下代码:<%="2"+"4" %>,运行该JSP后,以下说法正确的是( C )(选择一项)

     

     

     

     

    A.

    没有任何输出

     

    B.

    输出6

     

    C.

    输出24

     

    D.

    指令将引发错误

     

    3.

    在JSP中,使用( C )对象的(  )方法可完成网页重定向(选择一项)

     

     

     

     

    A.

    request,getRequestDispatcher()

     

    B.

    request,forward()

     

    C.

    response,sendRedirect()

     

    D.

    response,setRequestDispatcher()

     

    4.

    在JSP中使用JDBC语句访问数据库,正确导入SQL类库的语句是( A )(选择一项)

     

     

     

     

    A.

    <%@ page import="java.sql.*" %>

     

    B.

    <%@ page import="sql.*" %>

     

    C.

    <% page import="java.sql.*" %>

     

    D.

    <%@ import="java.sql.*" %>

     

    5.

    对于分页查询, 以下说法不正确的是(  B  )(选择一项)

     

     

     

     

    A.

    可以减轻服务器压力

     

    B.

    对于程序开销极大

     

    C.

    以提高用户体验

     

    D.

    对于不同数据库有不同的SQL指令

     

     

    6

    对于ServletRequest接口的getAttribute()方法,说法正确的是( A )(选择一项)

     

     

     

     

    A.

    获取指定名称的属性值

     

    B.

    设置指定属性的值

     

    C.

    删除指定属性的值

     

    D.

    以上都不对

     

    7.

    对JSTL说法中正确的是(  AB  )(选择二项)

     

     

     

     

    A.

    foreach用来循环输出集合中的数据

     

    B.

    set标签用来定义变量

     

    C.

    out标签只能输出session中的变量值

     

    D.

    if标签主要用来执行数据库操

     

    8.

    在JSP页面中,下列( A )表达式语句可以获取页面请求中名字为title的文本框的内容。(选择一项)

     

     

     

     

    A.

    <%=request.getParameter("title")%>

     

    B.

    <%=request.getAttribute("title")%>

     

    C.

    <%=request.getParameterValues("title")%>

     

    D.

    <%=request.getParameters("title")%>

     

    9.

    jsp在执行过程中经过()阶段,由web容器将之转换成java源代码( A )(选择一项)

     

     

     

     

    A.

    翻译

     

    B.

    编译

     

    C.

    执行

     

    D.

    响应

     

    10.

    jsp在执行过程中经过()阶段,会将java源码转换成class文件( B )(选择一项)

     

     

     

     

    A.

    翻译

     

    B.

    编译

     

    C.

    执行

     

    D.

    响应

     

    11.

    在JSP的小脚本中,使用以下( C)语句可以使浏览器重定向到另一个页面(选择一项)

     

     

     

     

    A.

    request.sendRedirect("http://www.jb-aptech.com.cn");

     

    B.

    request.sendRedirect();

     

    C.

    response.sendRedirect("http://www.jb-aptech.com.cn");

     

    D.

    response.sendRedirect();

     

    12.

    JSP文件test.jsp文件如下所示,运行时,将发生(D)。(选择一项)  

    <html>

       <% String str = null;%>

         str is <%=str%>

    </html>

     

     

     

     

    A.

    编译阶段出现错误

     

    B.

    翻译阶段出现错误

     

    C.

    执行字节码时发生错误

     

    D.

    运行后,浏览器上显示:str is null

     

    13.

    JSP页面的page指令主要用于设置该页面的各种属性,page指令的language属性的作用是( B )。(选择一项)

     

     

     

     

    A.

    将需要的包或类引入到JSP页面中

     

    B.

    指定JSP页面使用的脚本语言,默认为Java

     

    C.

    指定JSP页面采用的编码方式,默认为text/html

     

    D.

    服务器所在国家编码

     

    14.

    在java Web应用开发中,Servlet程序需要在( B )文件中配置。(选择一项)

     

     

     

     

    A.

    Jsp

     

    B.

    web.xml

     

    C.

    struts.xml

     

    D.

    servlet.xml

     

    15.

    Java EE,HttpServletResponse( B )方法用于一个HTTP请求重定向到另一个资源。选择一项

     

     

     

     

    A.

    sendURL()

     

    B.

    sendRedirect()

     

    C.

    forward()

     

    D.

    redirectURL()

     

    16.

    在JSP页面中进行访问控制时,一般会使用JSP的( B )内置对象实现对用户的会话跟踪(选择一项)

     

     

     

     

    A.

    Request

     

    B.

    Session

     

    C.

    Response

     

    D.

    Application

     

    17.

    在JSP页面中有如下Java代码,一共存在( B)处错误(选择一项)

    <%

             String userName= (String)session.getParameter("userName");

             if(userName==null)

             {

             %>

             您尚未登录!

             <%

             }

             else

             {

             %>

             欢迎您,<%=userName %>

             <%

             }

    %>

     

     

     

     

    A.

    0

     

    B.

    1

     

    C.

    2

     

    D.

    3

     

    18.

    在JSP中,以下哪个方法可以正确获取复选框的值( C )(选择一项)

     

     

     

     

    A.

    request.getParameterValue()

     

    B.

    response.setParameterValues()

     

    C.

    request.getParameterValues()

     

    D.

    request.getParameter()

     

    19.

    在一个jsp页面中包含了这样一种页面元素,<% int i = 10; %>这是( B )(选择一项)

     

     

     

     

    A.

    表达式

     

    B.

    小脚本

     

    C.

    指令

     

    D.

    注释

     

    20.

    在JSP中,以下( C )技术最适合实现购物车的存储(选择一项)

     

     

     

     

    A.

    Page

     

    B.

    Request

     

    C.

    Session

     

    D.

    Application

     

    21.

    以下JSP关键代码的运行效果为( A )。(选择一项)

    <%

             Map map=new HashMap();

             map.put("a","Java");

             map.put("b","JSP");

             map.put("a","C#");

             request.setAttribute("map",map);

    %>

    ${map.b}<br/>

    ${map["a"]}

     

     

     

     

    A.

    JSP

     C#

     

    B.

    JSP

    JAVA

     

    C.

    运行时出现错误

     

    D.

    什么也不输出。

     

    22.

    以下JSP代码片段的输出结果是( D )(选择一项)

    <%

             String getName(String name){

                       return name.subString(0,3);

             }

    %>

    姓名:<%=getName("齐德龙东强")%>

     

     

     

     

    A.

    姓名:

     

    B.

    姓名:齐德

     

    C.

    姓名:齐德龙

     

    D.

    编译错误

     

    23.

    index.jsp中代码如下,可以正确填写到横线处的代码为( AB )(选择二项)

    <%@ pae language="java" pageEncoding="ISO-8859-1" ______________%>

    <%

             Date date = new Date();

    %>

    <%=date%>

     

     

     

    A.

    import="java.util.*"

     

    B.

    import="java.util.Date"

     

    C.

    package="java.util.*"

     

    D.

    package="java.util.Date"

     

    24.

    以下JSP代码运行后的结果为( B )选择一项

    <%int i =8;%>

    <%=i+"8"%> 

     

     

     

    A.

    i8

     

    B.

    88

     

    C.

    16

     

    D.

    编译错误

     

    25.

    在下JSP代码,用户访问login.jsp页面点击登录后的显示结果是( C )。(选择一项)

    login.jsp页面代码如下:

    <form action="display.jsp">

             <input type="text" name="u1" value="admin1"/>

             <input type="text" name="u2" value="admin2"/>

             <input type="submit" value="登录"/>

    </form>

    display.jsp页面代码如下

    <%

             request.setAttribute("x","admin3");

             request.getRequestDispatcher("success.jsp").forward(request,response);

    %>

    success.jsp页面代码如下:

    <%=request.getParameter("u1")%>

    <%=request.getAttributer("x")%>

     

     

     

    A.

    admin1 admin2

     

    B.

    admin1 null

     

    C.

    admin1 admin3

     

    D.

    null admin3

     

    26.

    如下JSP代码输出集合中各元素,横线处应填写( AC )。(选择二项)

    <%

             List<String> strs= new ArrayList<String>();

             strs.add("北京");

             strs.add("上海");

             strs.add("浙江");

             request.setAttribute("strs",strs);

    %>

    <c:forEach var="strList" items="___________">

             <c:out value="________"></c:out>

    </c:forEach>

     

     

     

     

    A.

    ${strs},${strList}

     

    B.

    ${strList},${strs}

     

    C.

    ${requestScope.strs},${strList}

     

    D.

    ${strList}, ${requestScope.strs}

     

    27.

    假设当前为2013年4月15日,则如下JSP代码输出结果为( A )。选择一项

    <%@page import="java.util.Date"%>

    <%@ page import ="java.text.SimpleDateFormat"%>

    <%

             SimpleDateFormat formater=new SimpleDateFormat("yyyyMMdd");

             String strTime = formater.format(new Date());

    %>

    <%=strTime%>

     

     

     

     

    A.

    2013年04月15日

     

    B.

    2013年05月15日

     

    C.

    13年4月15日

     

    D.

    编译错误

     

    28.

    以下JSP关键代码的功能为输出"姓名:陈小斌",横线处应填写( AC ).(选择二项)

    <%

             Map stus = new HashMap();

             stus.put("stu1","王晓");

             stus.put("stu2","黄青");

             stus.put("stu3","陈小斌");

             request.setAttribute("stuList",stus);

    %>

    姓名:____________

     

     

     

     

    A.

    ${stuList.stu3}

     

    B.

    ${stuList[stu3]}

     

    C.

    ${stuList["stu3"]}

     

    D.

    ${stuList."stu3"}

     

    29.

    如下JSP代码输出集合中各元素,横线处应填写( AC  )。(选择二项)

    <%

             List<String> strs= new ArrayList<String>();

             strs.add("北京");

             strs.add("上海");

             strs.add("浙江");

             request.setAttribute("strs",strs);

    %>

    <c:forEach var="strList" items="___________">

             <c:out value="________"></c:out>

    </c:forEach>

     

     

     

     

    A.

    ${strs},${strList}

     

    B.

    ${strList},${strs}

     

    C.

    ${requestScope.strs},${strList}

     

    D.

    ${strList}, ${requestScope.strs}

     

    30.

    在部署带有Servlet的Java Web程序时,(  D  )不是必需的。(选择一项)

     

     

     

    A.

    web.xml文件

     

    B.

    WEB-INF文件夹

     

    C.

    classes文件夹

     

    D.

    csses文件夹

     

    31.

    在JSP中,以下哪个方法可以正确获取复选框的值( C )(选择一项)

     

     

     

     

    A.

    request.getParameterValue()

     

    B.

    response.setParameterValues()

     

    C.

    request.getParameterValues()

     

    D.

    request.getParameter()

     

    32.

    JSP中的有很多内置对象可以方便程序开发,其中不包括( C )(选择一项)

     

     

     

     

    A.

    Out

     

    B.

    Request

     

    C.

    Redirect

     

    D.

    Response

     

    33.

    在一个jsp页面中包含了这样一种页面元素,<% int i = 10; %>这是( B )(选择一项)

     

     

     

     

    A.

    表达式

     

    B.

    小脚本

     

    C.

    JSP指令

     

    D.

    注释

     

    34.

    在JSP中,以下( C )技术最适合实现购物车的存储(选择一项)

     

     

     

     

    A.

    Page

     

    B.

    Request

     

    C.

    Session

     

    D.

    Application

     

    35.

    在使用表单提交数据时,如果<form>标签的method属性未指定的时候,则以下说法中正确的是( B )(选择一项)

     

     

     

    A.

    默认为POST请求

     

    B.

    默认为GET请求

     

    C.

    默认为Fast请求

     

    D.

    编译错误

     

    36.

    如果要把一个accp字符串信息放在session对象里则下列正确的是( A  )(选择一项

     

     

     

     

    A.

    session.setAttribute("message","accp");

     

    B.

    session.setAttribute(message,"accp");

     

    C.

    session.setAttribute("accp","message");

     

    D.

    session.setAttributes("message","accp");

     

    37.

    JSP假设表单的method="post"在发送请求时中文乱码处理的正确做法是(  A  )(选择一项

     

     

     

     

    A.

    request.setCharacterEncoding("utf-8");

     

    B.

    response.setCharacter("utf-8");

     

    C.

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

     

    D.

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

     

    38.

    在JSP中,对于数据的共享可通过不同的作用域对象实现,如果该数据仅限当前页面有效,可选择的作用域对象( A )。(选择一项)

     

     

     

    A.

    PageContext

     

    B.

    Request

     

    C.

    Session

     

    D.

    Application

     

    39.

    jspServletRequest接口提供的setAttribute()方法共享数据对此以下说法正确的是(  A )(选择一项

     

     

     

     

    A.

    其原型是setAttribute(String key,Object value),第一个参数表示变量名称,第二个参数表示要存入的数据

     

    B.

    其原型是setAttribute(Object value,String key),第一个参数表示变量名称,第二个参数表示要存入的数据

     

    C.

    其原型是setAttribute(String key,String value),第一个参数表示变量名称,第二个参数表示要存入的数据

     

    D.

    其原型是setAttribute(String value,List value),第一个参数表示变量名称,第二个参数表示要存入的数据

     

    40.

    JSP,pageContextrequestsessionapplication均提供了存取数据的通用方法假设已经在session中存入了名为"currentUser"User对象则取出该数据的正确语句是( BC )(选择二项

     

     

     

     

    A.

    User user = session.getAttribute("currentUser");

     

    B.

    User user = (User)session.getAttribute("currentUser");

     

    C.

    Object user = session.getAttribute("currentUser");

     

    D.

    String user = (String)session.getAttribute("currentUser");

     

    三、    判断题

    1. JSP引擎执行字节码文件的主要人物之一是直接将HTML内容发给客户端。(T)
    2. JSP页面中的变量和方法声明(Declaration)、表达式(Expression)和Java程序片(Scriptlet)统称为JSP标记。(T)
    3. JSP页面中的指令标记、JSP动作标记统称为脚本元素。(F)
    4. 在“<%!”和“%>”标记之间声明的Java的变量在整个页面内有效,不同的客户之间不共享。(F)
    5. 在“<%!”和“%>”标记之间声明的Java的方法在整个页面内有效。(T)
    6. 页面成员方法不可以在页面的Java程序片中调用。(F)
    7. 程序片变量的有效范围与其声明位置有关,即从声明位置向后有效,可以在声明位置后的程序片、表达式中使用。(T)
    8. 程序片变量不同于在“<%!”和“%>”之间声明的页面成员变量,不能在不同客户访问页面的线程之间共享。(T)
    9. JSP中Java表达式的值由服务器负责计算,并将计算值按字符串发送给客户端显示。(T)
    10. 在Java程序片中可以使用Java语言的注释方法,其注释的内容会发送到客户端。(F)
    11. 不可以用一个page指令指定多个属性的取值。(F)
    12. jsp:include动作标记与include指令标记包含文件的处理时间和方式不同。(T)
    13. jsp:param动作标记不能单独使用,必须作为jsp:include、jsp:forward标记等的子标记使用,并为它们提供参数。(T)
    14. <jsp:forward...>标记的page属性值是相对的URL地址,只能静态的URL。(F)
    15. JSP页面只能在客户端执行。(F)
    16. JSP页面中不能包含脚本元素。(F)
    17. Page指令不能定义当前JSP程序的全局属性。(F)
    18. 在JSP中,<%!intc=5;out.print(c);%>此式正确.。(F)
    19. <jsp:getProperty>中的name及property区分大小写。(T)
    20. JSP主要的指令有page,import,include等三个(F)
    21. 当同时有多个请求发送到一个Servlet时,服务器将会为每个请求创建一个新的线程来处理客户端的请求。(T)
    22. HTML称为超文本元素语言,它是HypertextMarkedLanguage的缩写。(T)  
    23. 一个HTML文档必须有<head>和<title>元素。(F)
    24. 超级链接不仅可以将文本作为链接对象,也可以将图像作为链接对象。(T)  
    25. 表单域一定要放在<form>元素中。(T)
    26. 盒子模型中的top、right、bottom、left属性取值即可以是像素数,也可是百分比,并且只有父容器的position取值为非static值时才有效。(T)
    27. 用户在浏览器中输入http://127.0.0.1:8080/ch2/ch2_1.html即可访问本机上的该页面。(T)
    28. 在网页中图形文件与网页文件是分别存储的。(T)
    29. 绝度路径是文件名的完整路径;相对路径是指相对当前网页文件名的路径。(T)
    30. 超级链接<a>标记的target属性取值为链接的目标窗名,可以是parent、blank、self、top。(F)
    31. Tomcat服务器支持直接使用application对象。(F)
    32. out对象是一个输出流,它实现了javax.servlet.JspWriter接口,用来向客户端输出数据。(T)
    33. 利用response对象的sendRedirect方法只能实现本网站内的页面跳转,但不能传递参数。(F)
    34. JSP的Response对象作用是向客户端发送数据,但是一次会话过程,一个Response对象只能包含一个Coolie和一个HTTP文件头。否则抛出内存越界异常。(F)
    35. 在MVC模式中,因为Servlet负责创建JavaBean,所以JavaBean的构造函数可以带有参数,除了保留get和set规则外,还可以有其他功能的函数。(T)
    36. JSP是Servlet的升级版本,JSP出来后,Servlet也就退出了历史的舞台。(F)
    37. JSP输出表达式,正确的语法规则是<%=表达式%>。(T)  
    38. JavaBean的属性可读写,编写时set方法和get方法必须配对。(F)
    39. JavaBean也是Java类,因此也必须有主函数。(F) 
    40. 和过滤器相关的接口主要有:Filter、FilterConfig和FilterChain。(T)

    四、    简答题

    1. 相比servlet,jsp的优势在哪里?
    2. 画图说明访问a.jsp的整个流程。
    3. <% %>是java代码块的语法。如果在jsp文件中写多个代码块,它们都是位于_jspService方法里吗?
    4. 看代码解决问题:

    <%

    a)         int c = 10;

    %>

    <%

    b)         int d = c+10;  //这个代码块能引用上个代码块的变量吗?说出理由。

    %>

     

    五、    编码题

    1、编写程序实现登录功能

    要求:

    1)页面使用jsp表单提交,包含姓名和密码

    2)提交目的地为Servlet,在Servlet中获得表单提交的数据

    3)在Servlet中判断,如果姓名是“张三”,密码是“123”,返回客户登录成功

    4)写出核心代码即可

    JSP:

     1 <form action="login" method="post">
     2     <table>
     3         <tr>
     4             <td>姓名</td>
     5             <td>
     6                 <input type="text" name="uname">
     7             </td>
     8         </tr>
     9         <tr>
    10             <td>密码</td>
    11             <td>
    12                 <input type="text" name="pwd">
    13             </td>
    14         </tr>
    15         <tr>
    16             <td colspan="2" align="center">
    17                 <input type="submit" value="登录">
    18             </td>
    19         </tr>
    20     </table>
    21 </form>

    Servlet:

     1 public class LoginServlet extends HttpServlet
     2 {
     3     protected void doGet(HttpServletRequest req, HttpServletResponse resp)
     4             throws ServletException, IOException
     5     {
     6         doPost(req, resp);
     7     }
     8     protected void doPost(HttpServletRequest req, HttpServletResponse resp)
     9             throws ServletException, IOException
    10     {
    11         req.setCharacterEncoding("utf-8");
    12         String name = req.getParameter("uname");
    13         String pwd = req.getParameter("pwd");
    14         System.out.println(name + "=" + pwd);
    15         resp.setContentType("text/html;charset=utf-8");
    16         if (name.equals("张三") && pwd.equals("123"))
    17         {
    18             resp.getWriter().println("登录成功");
    19         } else
    20         {
    21             resp.getWriter().println("登录失败");
    22         }
    23     }
    24 }

     web.xml配置

     1 <servlet>
     2     <servlet-name>login</servlet-name>
     3     <servlet-class
     4     >com.guangsoft.LoginServlet</servlet-class
     5     >
     6 </servlet>
     7 <servlet-mapping>
     8     <servlet-name>login</servlet-name>
     9     <url-pattern>/login</url-pattern>
    10 </servlet-mapping>

     

  • 相关阅读:
    LintCode 27. 拓扑排序 DFS实现
    LintCode 155. 二叉树的最小深度
    LintCode 90. k数和 II
    LintCode 33. N皇后问题
    Oracle分组后取某列最大值的行数据
    Oracle日期范围
    Mongo可视化工具基本操作
    修改winform安装包写日志文件权限
    Winform安装包出现无法访问网络位置
    ComboBox的真实值和显示值
  • 原文地址:https://www.cnblogs.com/guanghe/p/6063178.html
Copyright © 2011-2022 走看看