JSP试题-带答案 下载本文

4、JSP中动态INCLUDE与静态INCLUDE的区别?

答:动态INCLUDE用jsp:include动作实现

静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面 <%@ include file=\,属于先包含,后编译

5、简述JSP中页面跳转的几种常见方式以及他们各自的区别和特点。 答:在JSP中,跳转页面有以下几种常见方式: 1.超链接跳转:

4.response地址重定向跳转:response.sendRedirect(String head,String value); 5. response修改HTTP文件头跳转:response.setHeader( URL url) 几种跳转的区别特点如下:

1.超链接跳转:

a.客户端跳转,地址栏改变b.单击超链接中链接文本后跳转c.使用地址重写传递参数 2.include跳转:

页面不会转向include所指的页面,只是显示该页的结果,主页面还是原来的页面。执行完后还会回来,相当于函数调用,并且可以带参数。

3.forward跳转:a.服务器端跳转,地址栏不改变;b.执行到跳转语句后马上无条件跳转,之后的代码不再执行(跳转之前一定要释放全部资源);c.request设置的属性在跳转后的页面仍可以使用;d.使用

4.response地址重定向跳转:a.客户端跳转,地址栏改变;b.所有代码执行完毕后跳转;c.跳转后的页面不能使用上一个页面的request属性;d.使用地址重写传递参数(response.sendRedirect(\参数名=参数值\)。

5. response修改HTTP文件头跳转:a.客户端跳转,地址栏改变;b.可以设置跳转参数,如刷新时间后跳转等

6.Jsp中属性的生命期有哪几种范围?请简要论述。

答:Page:当前页面有效 Request:在请求的连接页面间有效 Session:在会话内有效 Application:在整个tomcat启动内有效

7.jsp常用标签有哪些? 答:jsp标签分为两大类型,指令标签和动作标签, 指令通常有:page、include

动作通常有:include,forward, param,plugin, useBean,setProperty,getProperty。

8、如何连接数据库?

Class.forName(\String url = \数据源名称 \

DriverManager.getConnection(url, \

9、JavaBean的定义与特性?

Java Beans是一个可重复使用的软件部件

JavaBean的特性包括: (1)、是公共的类; (2)、构造函数没有输入参数; (3)、属性必须声明为private,方法必须声明为public; (4)、用一组set方法设置内部属性; (5)、用一组get方法获取内部属性; (6)、.是一个没有主方法的类,一般的Java类默认继承自Object类,而Bean不需要这种继承。

10、Servlet的生命周期、 第一步:用户通过客户端浏览器请求服务器,服务器加载Servlet,并创建一个Servlet实例; 第二步:容器调用Servlet的init()方法; 第三步:容器调用service()方法,并将HttpServletRequest和HttpServletResponse对象传递给该方法,在service()方法中处理用户请求; 第四步:在Servlet中请求处理结束后,将结果返回给容器; 第五步:容器将结果返回给客户端进行显示; 第六步:当Web器关闭时,调用destroy()方法销毁Servlet实例。 11. 如何在JSP中现实servlet的单线程模式?

答案:只需要按以下方式写page命令:<%@ page isThreadSafe=\。 五、程序填空(分析下面的程序代码,将正确的表达式或语句填入空白) 1.连接数据库 import java.sql.*; //导入sql的具体要使用的包 Public Class DbUtil{ public static void main(String[] args) { Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); String url=\ Connection con=DriverManager.getConnection(url,\ Statement stmt=con.createStatament____; ResulstSet rs=stmt.__executeQuery______(“select * from user”); } 请将上面的空填好。填完整这个程序后,这个程序有问题吗?应该怎样改正?() 答:有问题! 没有处理异常情况!如下: try{ Class.forName (“sun.jdbc.odbc.JdbcOdbcDriver”); String url=\ Connection con=DriverManager.getConnection(url,\ Statement stmt=con. createStatament; ResulstSet rs=stmt. executeQuery (“select * from user”); }catch(Exception ex){ ex.printStackTrace( ); }

2、下面是一个servlet在web.xml中应该如何配置 package com.handson.demo;

public class ServletDemo extends HttpServlet { }

___ ServletDemo ________

___ com.handson.demo.ServletDemo___ ____ ___

_____ ServletDemo ____ /ServletDemo ____ ___ 六、编程题

1、编写一个jsp页面计算1+2+……+100的连续和。

计算1+2+……+100的连续和

<% int sum=0; for(int i=1;i<=100;i++){ sum=sum+i; } out.println(sum); %>

2、要求在页面上有两个文本框,用户在文本框中输入姓名和电话号码,单击“提交”按钮后,由服务器应用程序接受并处理用户信息。例中login.html通过表单向login.jsp提交信息。 login.html

获取客户提交信息案例


电话:

login.jsp :

<% String str1=request.getParameter(\<% String str2=request.getParameter(\<% String str3=request.getParameter(\
电话文本框信息: <%=str2%>
提交按钮的面值: <%=str3%>

3、编写一个显示“九九乘法口决表”的JSP程序,并要求在程序中对语句进行适当的说明。

嵌套for语句 <% int t=0;

for (int i=1;i<=9;i++) { for (int j=1;j<=i;j++) { t=i*j; out.println(j+\ +\ } out.println(\} %>

4、编写一个Bytes方法,用来处理Request对象中的中文乱码问题。 public String Bytes(String str) { try

{ String strOld=str; byte[] strNew=strOld.getBytes(\ String bytes=new String(strNew); return bytes; }

catch(Exception e){} return null; }