JSP练习题1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JSP 练习题-------
一、问答题(每题5分共25分)
1.Jsp页面由哪几部分构成?
指令标识,HTML标记语言,java代码,JSP标记
2.bean中的scope的取值分几种?分别代表什么不同的意义?
Page作用域只在当前页面有效,本页面执行完毕,关掉之后,无效
request作用域在当前页面有效
session作用域在用户访问的Web服务目录的各个页面都是有效的
qpplication作用域直到服务器关闭,才无效。
3.简述JDBC访问数据库的步骤,并写出增删改查的实现语句:
1加载驱动
2注册驱动
3建立一个连接
4向已连接的数据库发送SQL语句
5.处理SQL语句返回的结果
假设表名为book,字段为id,name,price
1.查询所有记录:select * from book
2.删除id为6的记录 delete from book where id=6
3.增加一条记录id=8,name=”zhangsan” price=89
Insert into book(id,name,price)values(6,’zhangsan’,’89’);
4.将id=4的记录改为price=78
Update book set price=78 where id=4
4.简述一个servlet对象的生命周期是由哪三部分过程构成的?
初始化servlet调用service()方法调用destroy()销毁 servlet
Int()初始化 service()处理客户端的请求,destroy()终止
5.如何解决中文编码中的乱码问题?
String str=request.getParameter(“message”);
Byte b[]=str.getBytes(“ISO-8859-1”);
Str=new String(b);
二、选择题(每题2分,共20分)
1.在JSP中,要定义一个全局变量,需要用到以下( C )元素。
A.<%= %> B.<% %> C.<%! %> 里面的值都变 D.<%@ %>
2. 在Web项目的目录结构中,文件web.xml位于(C)下。
A. src目录
B. 项目根目录或其子目录
C. WEB-INF目录
D. MATA-INF目录
3.web.xml文件必须有一个根标记,web.xml文件的根标记为:D
A.<select>
B.<servlet-mapping>
C.<url-pattern>
D.<web-app>
4.以下对象中( C)不是JSP的内置对象
A. request
B. session
C. bean
D. application
5.在对数据库的操作中,如果要对数据库中的表进行添加操作,用到的sql语句的关键字是(B)
A.delete
B.insert
C.select
D.update
6.如果有两个用户同时访问一个JSP页面,该页面中的java程序片被执行(B)次?
A.1
B.2
C.3
D.4
7.以下( C )对象可以把用户对当前JSP页面或servlet请求转发给另一个JSP页面或servlet 。
A. response
B. session
C. RequestDispatch
D. out
8.在用到javabean时,当两个用户同时访问一个JSP页面时,一个用户对自己bean的属性的改变,
不会影响到另一个用户,那么用户应该将自己bean的scope范围设定为( B )
A.request B.session C.page D.application
9.在传统的HTML页面中加入( B)就构成了一个JSP页面文件。
A. Java程序段
B. Java程序段和JSP标签
C. JSP标签
D.servlet
10.以下哪个标记不可单独使用(C)
A.include
B.forward
C.param 传过去的值,属性值
eBean
三、编写程序题。
(第1题 14分,第一问8分,第二问6分,第二题6分,共20分)
1.客户端的主界面是index.jsp,在index.jsp中创建一个表单,并向表单中输入
两个参数,按要求编写程序:
前台表单是index.jsp,请用servlet组件接收表单传来的数据并进行计算。
编程要求:若在index.jsp中输入的两个参数,其中一个若为0,则返回index.jsp;否则,在servlet中完成加法运算,运算完成后转向result.jsp,在result.jsp中显示运算结果和两个前台提交的参数。
Servlet取名为Computer.java,该程序打包在myServlet包中。
编程要求:在本问中
①编写该Servlet程序,但用import加载的包可不写。
模板为:
public class Computer extends HttpServlet throws
ServletException,IOException{
public void doPost(HttpServletRequest request,HttpServletResponse
response){
……..
}}
在doPost()方法中编写程序。
response.setContentType("text/html;charset=gb2312");
PrintWriter out = response.getWriter();
String n1 = request.getParameter("number1");
String n2 = request.getParameter("number2");
double numberone,numbertwo;
numberone=Double.parseDouble(n1);
numbertwo=Double.parseDouble(n2);
double result = numberone + numbertwo;
//String类型
String c=String.valueOf(result);//就一句
if (numberone==0||numbertwo==0) {
response.sendRedirect("index.jsp");
}
else {
//request.setAttribute("result", result);double类型
request.setAttribute("result", c);
RequestDispatcher dispatcher = request.getRequestDispatcher("result.jsp");
dispatcher.forward(request, response);
}
②写出result.jsp显示表单参数及计算结果的完整代码。
result.jsp的模板为:
<html><body>
……
</body></html>
请在<body></body>中编写程序。
<% String result=(String)request.getAttribute("result");%>
<%=result %>
2.设计五个页面,index.jsp,show.jsp,login.jsp,manager.jsp和user.jsp
实现登陆验证功能。
index.jsp:负责输入用户名和密码,还有登陆类型,分为管理员和普通用户
进行提交。
其中用户名和密码为文本类型,管理员和用户为单选纽。
check.jsp:进行判断,如果用户名是zhangsan,密码是123456,跳转到
login.jsp,否则重定向到inde.jsp
login.jsp:如果用户类型为管理员,进入manager.jsp,如果用户类型为普通
用户,则进入user,jsp
manager.jsp:显示“manager登陆成功”
user.jsp:显示“user登陆成功”
index.jsp
check.jsp
login.jsp
manager.jsp
user.jsp
四、程序设计题。
(第一题10分,第二题15分,共25分)
1.编写两个JSP页面index.jsp和show.jsp:
index.jsp页面提供一个表单,用户可以通过表单index.jsp输入长方形的长和宽提交给show.jsp,show.jsp调用一个bean去完成计算长方形面积的任务。
show.jsp页面使用getProperty动作标记显示长方形的面积。
要求:编写两个页面,一个javabean文件。
注:在本问中,javabean的类名为Computer.java,长,宽的变量名分别为width,length,面积为area。
Jsp页面的编程模板为
<html><body>
……
</body></html>
2.在Mysql(数据库访问的用户名为:root 密码:54321)中,存在名为mydatabase的数据库,表book为数据库mydatabase中的一张表,字段分别为:
b_id(INTEGER),b_name(VARCHAR(20)),b_price(INTEGER),表中的数据如下:
b_id b_name b_price
1 zhangsan 45
2 lisi 98
3 luming 56
编写程序
①从数据库中读取表中的所有的数据:需要写出连接数据库以及相应语句
②并向数据库中添加一条新记录。
b_id=7,b_name=”wangfang”,b_price=68
③并且在网页上显示出表中符合上述条件的b_id,b_name和b_price的值。
编程要求:
①写出servlet中的程序代码。
servlet的名字为QueryServlet.java,所在的包为queryservlet,加载的包名可以不写。
(6分)
②写出相应的javabean的程序代码,javabean的类名为UserBean.java。
(4分)
③写出显示的页面:show.jsp。
在show.jsp中显示题目要求的b_id,b_name和b_price。
(5分) 注:Servlet和Jsp的模板同第三大题。
五.论述题(共10分)
请按MVC(jsp+javabean+servlet)的设计思想,设计一个实现计算圆形面
积的MVC结构,只写出所设计的程序名称,描述各个部分的作用。
M:数据层 JavaBean
C:控制层 servlet
V:视图层 jsp
通过表单输入一个数据------和运算符号提交给servlet
servlet控制器负责接收数据,进行运算,将运算的结果存在JavaBean
中(将JavaBean作为一个类,实例化对象—set())get())进行转发
转发到最后的一个视图层,进行显示
实现数据控制和视图的分离
高内聚低耦合。