`
txyly998
  • 浏览: 107660 次
  • 性别: Icon_minigender_2
  • 来自: 南京
社区版块
存档分类
最新评论

第二阶段考试题(HTML、Servlet、JSP、Javascript、Ajax、JQuery)

阅读更多
-------------------------------------以下为笔试题(每题2分)------------------------------------------------
1. 使用HTTP协议将客户端的请求传送到服务器端有哪两种方式?  请简述它们的区别

1) get是从服务器上获取数据,post是向服务器传送数据。
2) 在客户端,Get方式在通过URL提交数据,数据在URL中可以看到;POST方式,数据放置在HTML HEADER内提交。
3) 对于get方式,服务器端用request.getQueryString()可以获取GET请求参数的变量值,对于post方式,服务器端用request.getParameter获取提交的数据。
4) GET方式提交的数据最多只能有1024字节,而POST则没有此限制。
5) 安全性问题。正如在(1)中提到,使用 Get 的时候,参数会显示在地址栏上,而 Post 不会。所以,如果这些数据是中文数据而且是非敏感数据,那么使用 get;如果用户输入的数据不是中文字符而且包含敏感数据,那么还是使用 post为好。


2. WEB容器主要有哪些功能? 并请列出一些常见的WEB容器名字。

1) 提供Servlet程序编写API
2) 提供Servlet程序运行时环境。
常见的有 Apache, IIS, Tomcat, Resin 等等

3. 请简述Servlet的生命周期及其相关的方法。
实例化,初始化,提供服务,销毁
init()、service()和destroy()

4. 在Servlet中,我们通过什么方法获取客户端提交的数据
Request.getParameter()

5. 在Servlet中,通过什么语句生成向客户端发送的页面? 请编写一段简单的Hello World输出

PrintWriter out = response.getWriter();
Out.print();

Out.print(“Hello World!”);

6. 请简述一下部署Serlvet的过程

<servlet>
<servlet-name>test</servelt-name>
<servlet-class>TestServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>test</servlet-name>
<url-pattern>/TestServlet</url-pattern>
</servlet-mapping>
把你项目的WebRoot文件夹拷贝到Tomcat的webapps文件夹下
7. Tomcat服务器的默认端口是?   为了中文字符处理不出现乱码,我们需要对Tomcat的配置做出什么修改?

8080
URIEncoding=”utf-8”

8. JSP的标记是如何来表示的?  C
A. <>  B. <??>   C.  <%%>    D.  <$$>

9. 在JSP里声明一个变量的标记是?

<%!%>

10. 有一个字符串变量 String str=”abc”; 在JSP里以下哪些输出方式是正确的? BDE
A. <%=abc;%>    B. <%out.print(str);%>   C. <%out.print(str)%>  D. <%=abc%>
E.   <%out.println(str);%>   F. <%out.println(str)%>


11. 在一个JSP文档中,可以出现以下三种注释:
1) JSP注释标记<%-- --%>
2) HTML注释<!-- -->
3) JAVA注释 //     /**/
请分别对它们简单描述一下


12. JSP的page指令常见的属性都有哪些?

Language, contentType, import, errorPage, isErrorPage, extends, session, info, isThreadSafe, buffer, autoflush




13. 假设需要在一个JSP页面里导入java.util.List, java.util.ArrayList, java.io.File,语句应该怎么写?

<%@page import=” java.util.List, java.util.ArrayList, java.io.File”%>
14. 若要导入footer.html 页面,使用JSP的include指令应该如下导入?
<%@include file=”footer.html”%>

15. JSP的include指令和include操作有什么区别?
1) 语法结构不同
2) include指令更适合于包含静态页面, include操作更适合于包含动态页面
3)include操作还带有参数 flush=”true|false”

16. 请分别描述一下forward和redirect的区别

1) 使用forward浏览器地址栏不变,redirect浏览器地址栏会改变
2) Forward效率较高
3) Forward可以使用request.getAttribute()获取数据,而redirect不可以

17. 在Servlet和JSP里是如何实现 forward和redirect的? 例如要跳转去一个test.jsp页面。

//Servlet
RequestDispatcher rd = this.getServletContext().
getRequestDispatcher("/test.jsp");

rd.forward(request, response);

response.sendRedirect("/test.jsp");

//JSP
<jsp:forward page="/test.jsp " />
response.sendRedirect("/test.jsp");


18.   jsp主要内置对象有?
request、response和out,还有exception、session、application、config、pageContext和page


19. 在JSP里,我们可以怎样获取来自客户端请求的IP地址?

Request.getRemoteAddr();

20. 有一个用户名 test, 密码 12345, 请编写一段创建COOKIE的JSP代码, 然后再编写一段读取COOKIE的JSP代码, 在页面上将COOKIE的信息显示出来。

String str = “username= test&password=12345”;
Cookie  cookie=new Cookie("mycookie", str);
response.addCookie(cookie);

Cookie cookies[]=request.getCookies();
For(int i=0;i< cookies.length;i++){
Out.print(cookies[i].getName+”=”+ cookies[i].getValue());
}
21. 请简述Cookie, Session 和Application它们的区别。

1) Cookie会在客户端硬盘上创建Cookie文件
2) Session大部分情况下会在服务器端硬盘上写入Cookie文件
3) Cookie安全性最低
4) Application 表示Servlet上下文环境,在整个WEB应用中只有一个Application对象,用于存储些全局性的数据

22. 在DOM编程里,为了得到一个HTML文档元素,我们可以使用document对象的哪些方法,请列出。
//根据ID   //根据元素的name属性值 //根据元素的标签名
Document.getElementById,    ByName,  ByTagName


23. 有如下所示的页面:

页面里有一个form表单: <FORM action="" name="buyForm" method="post">,
多选框: <INPUT name="isBuy" type="checkbox" id="isBuy" value="paozhu">
请编写javascript代码,实现该表单多选框的 “全选”“全不选” 功能。
------------------------------全选--------------------------------
//拿到form表单
Var f = document.getElementByName(“buyForm”);
Var cb = f.isBuy;

For(i=0;i<cb.length;i++){

If(cb[i]. checked ==false) cb[i]. checked = true;
}



24. 请编写一段匹配IP地址的正则表达式。

[1-9][0-9]{0,2}\.[0-9]{1,3}\.[0-9]{1,3}\.[1-9][0-9]{0,2}

25. 有这样一个时间字符串:2008-8-8 20:08:08 , 请编写能够匹配它的正则表达式,并编写JAVA代码将日期后面的时分秒提取出来,即:20:08:08

String regex1="[1-9][0-9]{1,3}\\-[1-9][0-2]?\\-[1-9][0-2]? (([0-9]{1,2}):([0-9]{1,2}):[0-9]{1,2})";
        String str1="2008-8-8 20:08:08";
        Pattern p1=Pattern.compile(regex1);
        Matcher matcher=p1.matcher(str1);
        matcher.find();
for(int i=0;i<=matcher.groupCount();i++){
System.out.println(matcher.group(i));
}



26. 在DOM模型中,Form表单的提交事件是什么? 需要什么返回值可以让该表单不提交?
onSubmit
返回false可以不提交表单

27. 在DOM模型中,select下拉菜单的值被改变触发什么事件?若要设定某项值为默认值,该如何设定?
onChange
selected

28. 在DOM模型中,form表单里的某个元素失去焦点会触发什么事件?

onblur

29. 有这样一个form表单,如下图:
 
Form表单:<form name="userfrm" method="post" action="register_success.htm" >
登录名:<input name="username" type="text">
密码:<input name="pass" type="password">
重复密码:<input name="rpass" type="password">
请编写javascript程序实现该表单的客户端验证。
要求
1) 密码不能为空并且最少为6位,还要求两次输入的密码要一致
2) 登录名不能为空,且只能包括字母、数字和下划线字符

Var f = document.getElementsByName(“userfrm”);
Var isValiUserName = false, isValiPassword = false;
If(f. username!=”” && f. username!=”undefined”){

//正则表达式验证只能包括字母、数字和下划线字符
var re = new RegExp("[a-zA-Z0-9]{5,20}","ig");
   var str = "fdsjkfdskfd";
   isValiUserName = re.test(str); //得到用户名true/false的校验结果
}
//校验密码
If(f. password!=”” && f.password.length>=6 && f.password== f.rpassword){
isValiPassword = true;
}
If(isValiUserName==true && isValiPassword==true) return true;
Return false;


30. 请简述一下ajax的原理及实现步骤。

原理: HTTP协议的异步通信
get 请求
1) 创建一个XMLHttpRequest对象
2) 调用该对象的open方法
3) 如果是get请求,设置回调函数onreadystatechange = callback
4) Send

如果是post 请求

5) 创建一个XMLHttpRequest对象
6) 调用该对象的open方法
7) 调用setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
8) 设置回调函数onreadystatechange = callback
9) Send

31. 有这样一段HTML代码:
<a id=”sohu” class=”mylink” href="http://www.sohu.com">SOHU</a>, 请使用jquery的选择器分别根据ID,标签名,class, XPath的方式找到该HTML元素对象。

$(‘#sohu’)
$(‘a’)
$(‘.mylink’)
$(‘a [@ href*=”sohu”]’)


32. 有如下一段HTML代码:
<script src="jquery.js" type="text/javascript"></script>
<style type="text/css">
.odd {
background-color:blue;
}
.even {
background-color:red;
}
</style>

<ul>
<li>jquery 学习1</li>
<li>jquery 学习2</li>
<li>jquery 学习3</li>
<li>jquery 学习4</li>
<li>jquery 学习5</li>
<li>jquery 学习6</li>
</ul>
请使用jquery实现页面的li元素基于奇数偶数的颜色换行

<script language="javascript">
$(document).ready(function() {
$(‘li:even’).addClass(‘even’);
$(‘li:odd’).addClass(‘odd’);
});
</script>

-----------------------------------------编程题(每题18分)----------------------------------------------
33. 有一个用户表 user, 有如下字段:
Id  int
userName varchar (唯一性约束)
password varchar
email varchar
mobile int
birthday date
请使用jquery+servlet+json+jsp完成一个用户注册程序, 要求:
1) 注册的页面表单必须使用javascript对用户名,密码,email,手机号码做验证,
2) 用户名不可为空,且以字母开头,只能包括字母、数字和下划线字符长度为5-20个字符
3) 密码长度6-20位, 且密码与重复密码必须相等。
4) Email不可为空,且必须包含 @ 符号
5) 手机号码必须使用正则表达式做校验
6) 必须使用jquery对用户名的唯一性做ajax校验。
7) Servlet做用户的注册逻辑处理,若注册成功则跳转去success.jsp,若失败则回到reg.jsp,且在reg.jsp页面上报告错误信息。

34. 请使用前面的注册程序多注册些用户资料,然后用jquery+servlet+json开发用户资料列表页的分页程序,要求必须ajax分页
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics