1、 JSP的标记<% 和 %>与〈%!和 %>分别表示什么,有什么异同?
前者定义的是局部的变量的,后者是定义的全局变量方法
〈%! %〉里声明的变量和方法都是作为类的属性和方法存在的,〈% %〉里不能声明方法 而<% %〉里声明的变量则是作为_jspService这个方法的内部属性
<% %>:〈%java代码%>,其中可以包含局部变量、java语句
<%!%〉:<%!声明语句%〉是声明标签,通常声明全局变量、常量、方法、类;
2、 JSP编译后会创建一个什么?
class文件
编译后生成。class文件,在web—inf/classes目录中.
3、 简述请求转发和请求重定向的区别。(重点)
进行请求转发时,存储在request对象中的信息会被保留并带到目标页面中;请求重定向是重新生成一个request请求,然后将该请求重定向到指定的URL,所以事先存储在request对象中的信息都不存在了.
4、 JSP服务器有什么? Tomcat
Tomcat weblogic jboss jsp程序运行和调试;
5、 Servlet中的方法执行顺序是什么? init() service() destroy() GetServletConfig()
GetServletInfo()
执行方法按顺序为:构造方法,init(),doGet()或者doPost(),Destroy();
6、 什么是 JSP的预编译特征?(重点)
JSP 页面在被服务器执行前,都是已经被编译好的,并且通常只进行一次编译,即在 JSP 页面被第一次请求时进行编译,在后续的请求中如果JSP页面没有被修改过,服务器只需要直接调用这些已经被编译好的代码,这大大提高了访问速度。 7、 JavaBean作用范围有什么?
四种作用范围
1。page范围:属性只在当前页面有效,如果跳转到其他页面,需要重新实例化. 适用于JSP页面操作资源;
2。request范围:属性在服务器端跳转中有效;
不常用,必须使用〈jsp:forward page=\"URL”/>跳转; 3。session范围:属性在一次会话中有效; 适用于用户登录;
4。application范围:属性保存在服务器中; 尽量少用,占用资源.
8、 < jsp :useBean〉标记如何使用?
〈jsp:useBean id=”**\" class=\"**” scope=”**“ />
〈jsp:useBean〉标签在指定范围内获取或创建一个JavaBean 〈jsp:useBean id=”myBean\" scope=\"page” class=\"pkg.myBean” /〉
9、 out对象的方法用法分别有什么?如.print( )和println( )
out.print() out。println() out。write() out.flush() out。close()
out.print() out.println() out.flush() out。close() out。write()
void print() //输出数据,不换行 void println()//输出数据,换行 void newline()//输出一个换行符 void flush()//输出缓冲区里的内容 void close()//关闭输出流
void clear()//清除缓冲区里的内容;
void clearBuffer()//清除缓冲区的内容;
10、
JSP程序中要用到的变量或方法必须首先做什么?
声明变量或方法 11、
session对象的常用方法有什么?如何使用?
1。getAttribute(String name) 这个方法可以获取指定属性的值。 2.getCreationTime()
这个方法可以获取Session对象创建的时间。 3。getLastAccessedTime()
这个方法可以获取Session对象上次被访问的时间。 4.invalidate()
这个方法可以使Session对象失效。 5。removeAttribute(String name) 这个方法可以移除指定的属性。
6.setAttribute(String name,Object value)
这个方法可以给指定名称的属性赋值。
a)public void setAttribute(String name,String value)设定指定名字的属性的值,并将它添加到session会话范围内,如果这个属性是会话范围内存在,则更改该属性的值.
b)public Object getAttribute(String name)在会话范围内获取指定名字的属性的值,
返回值类型为object,如果该属性不存在,则返回null。
c)public void removeAttribute(String name),删除指定名字的session属性,若该属性
不存在,则出现异常。
d)public void invalidate(),使session失效.可以立即使当前会话失效,原来会话中
存储的所有对象都不能再被访问。
e)public String getId( ),获取当前的会话ID。每个会话在服务器端都存在一个唯
一的标示sessionID,session对象发送到浏览器的唯一数据就是sessionID,它一般存储在cookie中。
f)public void setMaxInactiveInterval(int interval) 设置会话的最大持续时间,单位是
秒,负数表明会话永不失效。
g)public intgetMaxInActiveInterval(),获取会话的最大持续时间.
h)使用session对象的getCreationTime()和getLastAccessedTime()方法可以获
取会话创建的时间和最后访问的时间,但其返回值是毫秒,一般需要使用下面的转换来获取具体日期和时间. 12、
jsp中的include用法?
有两种include其他页面的方法,一种是说明标签<%@ include file=\"xxx。jsp”%〉,一种是动作标签 <%Double.parseDouble(var)%〉〈!—var为变量值——> 14、 class文件一般放在工程的那个文件夹中? /WEB-INF/classes 15、 JSP表达式语法格式的如何的? 1。Scriptlet:脚本小程序 (1)<%.。.%〉:可以插入一些语句。 举例:<% out.println(”〈h2〉Hello world表明向网页输出一个Hello world语句。 (2)〈%! ... %〉:只能放置全局变量、全局常量、类、函数。 举例: 〈%! public static final String INFO=”HELLO WORLD”; class Person{ 。.。.。 } %〉 注意:〈%! %>中不能使用内置对象! (3)〈%= 。.. %〉:只能放置一个变量、常量。 举例:〈%=”Hello world”%〉 2. MVC架构将应用分为三层—模型,视图,控制,并减弱它们各自的责任。每一层处理特定的任务并对其它层有特殊的责任. M—模型存储业务数据和控制访问与修改业务数据的业务逻辑或操作 V-视图展示模型中的内容. C—控制器定义了应用程序的行为。它分派用户的请求然后调用相应的视图来展示。它解析用户的输入然后与模型中完成相应功能的事件处理相匹配. 17、 JAVA 18、 数据库连接池的具体实施办法是哪些?(重点) page指令其language属性默认值是什么? 预先建立多个数据库连接保存在数据库连接池中,当程序访问数据库时,从连接池中取出空闲连接,访问结束后,再将连接放回连接池。 19、 JSP中基本的元素类型有哪三种? 动作指令脚本 20、 表单中的action属性有什么用? 用于指定处理表单数据程序url地址; 21、 response.setHeader(“Refresh”, “1\")的含义是什么? 页面刷新时间为 1秒 22、 表单的提交方法有哪两种? Get方式和post方式 23、 哪个对象对于每个Web应用来说只有一个? application 24、 JSP 页面由哪些元素组成?(重点) JSP页面元素包括:JSP中的指令标识、HTML标记语言、嵌入的Java代码片段、JSP表达式(、动作标识、JSP脚本标识、JSP注释)等 25、 Java的数据类型分为哪两种类型? 基本数据类型和引用数据类型 26、 用户关闭浏览器后,用户的 session 会立即消失吗?(重点) 会.从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。可以利用此特性来保存每个用户信息,当一个客户登录一个网站时,系统将为用户生成一个独一无二的会话对象,用以记录该用户的个人信息,一旦该用户退出网站,该会话对象将会被注销。 27、 表单标记中的哪个属性用于指定处理表单数据程序url的地址? Action 属性 28、 什么是 JavaBean?使用 JavaBean 的优点是什么?(重点) JavaBean组件就是利用Java语言编写的组件,它好比一个封装好的容器,使用者并不知道其内部是如何构造的,但它却具有适应用户要求的功能,每个JavaBean都实现了一个特定的功能,通过合理地组织不同功能的JavaBean,可以快速生成一个全新的应用程序. 优点:提高代码的重用性,“一次编写,任何地方执行,任何地方重用”。 29、 http是一个什么协议?(有状态还是无状态的) 协议的状态是指下一次传输可以“记住\"这次传输信息的能力。 30、 Request 31、 JSP指令标记有什么? JavaBean的生命周期中,哪个是用来跟踪用户会话的? http是不会为了下一次连接而维护这次连接所传输的信息.所以是无状态协议 Page指令 include指令taglib指令 32、 运行 Servlet 需要在 web。xml 文件中进行哪些配置?(重点) (1)Servlet的名称、类(必须指定)和其他选项的配置; (2)可以配置一些初始化参数 (3)启动装入优先权(通过〈load—on—startup>元素指定) (4)Servlet的映射 33、 forward 34、 init 35、 在jsp中要建立与数据库的连接必须调用DriverManager类的什么方法? 当一个Servlet首次被请求的时候,服务器首先会调用哪个方法? 哪个动作用于转向另一个页面? getConnection()方法 36、 JDBC的主要任务是什么? 1建立与数据库的连接。 2向数据库发起查询请求。 3处理数据库返回结果 37、 JSP指令元素主要有3种类型的指令,分别是什么? page、taglib、include 38、 哪个对象类型是javax。servlet.ServletResponse类的实例? Response 39、 如果用户长时间不操作 session 对象,用户的 session 对象会消失吗?(重点) 会消失。在一定时间内(系统默认在30min内),如果客户端不向服务器发出应答请求,session对象就会自动消失。 40、 Bean是一个公共类,它必须有一个什么样的构造方法? 必须有一个无参的构造方法 41、 简述编译和使用JavaBean的主要步骤。(重点) 1、编写Bean类并使用javac命令编译Bean类 2、将编译好的class文件放入WEB-INF\\classes文件夹中 3、使用〈jsp:useBean〉命令 42、 编写程序a。html和b。jsp,做一用户注册界面,包括:学号,姓名,密码.然后提 交到b.jsp进行注册检验,若用户名为1111,就提示“欢迎你,XXXX”,否则,显示“注册成功\"并显示出注册信息。(注:性别 弄个单选按钮 男或女) a。html文件 〈html> 〈body〉
b。jsp文件
〈%@ page contentType=”text/html;charset=utf—8” %> 〈html> 〈body〉 <%
String sno = request。getParameter(“sno”); String name = request.getParameter(“name”); String password = request.getParameter(“password\");
if(“1111\"。equals(username)) { out。println(“欢迎你,\"+name); } else { out。println(“注册成功!”); } %>
〈/body〉 〈/html〉 43、
用JAVA代码链接数据库的方法是怎样的,每个语句的意义要记住。
JDBC(Java Data Base Connectivity)数据库连接,通常我们在编写web应用或java应用程序要连接数据库时就要使用JDBC。使用JDBC连接数据库一般步骤有: 1、加载驱动程序
Class。forName(driver); 2、创建连接对象
Connection con = DriverManager.getConnection(url,username,password); 3、创建sql语句执行对象 4、执行sql语句 5、对执行结果进行处理
6、关闭相关的连接对象(顺序跟声明的顺序相反) 44、
采用JavaBean技术把前页面提交过来的信息(含工号和密码),初始化TeacherBean
的属性workNo、password,并用JavaBean相关JSP动作输出工号和密码,并注明相关配置要求。
(teacherBean改成学生Bean,,workno等变成no等)
packageorg.bean;
public class TeacherBean{ privateint id;
private String workNo; private String password;
publicTeacherBean () {} public void setId(String id) { this.id = id; }
public String getId() { return this.id; }
public void set WorkNo (String workNo) { this. workNo = workNo; }
public String getWorkNo () { return this。 workNo; }
public void set Password(String password) { this. password = password; }
public String get Password () { return this. password; } }
〈%@ page contentType=\"text/html;charset=utf—8\" %〉
String password = request。getParameter(“password”); %>
〈jsp: useBean id=”teacher\" scope=”page\" class=”org。 bean. TeacherBean” 〉 〈%
student.setWorkNo (wno);
student。setPassword(password); %>
〈jsp: getProperty name=”teacher” property=\"wno\" /〉 简述request对象和response对象的作用。(重点) Request对象是从客户端向服务器发出请求,包括用户提交的信息以及客户端的一些信息. Response对象用于响应客户端请求,向客户端输出信息。 46、request.getParameter()的用法?注意参数的格式 这是取页面的参数用的,当页面的表单参数通过request里面传过来,就可以通过这个方法 取出来 一、选择题(每题1分,共15分) 二、填空题(每题1分,共10分) 三、判断题(每题1分,共10分) 四、简答题(每题6分,共30分)紫色题 五、分析代码并按要求写出结果。(每题10分,共20分) 1、〈%@ page contentType=”text/html;charset=GBK” %> 〈html> 〈%@ include file=\"dd。html”%> 阿斯顿发生的发生! 〈/font〉 my。jsp代码: 〈% String s1=”好的的的大是大非!\"; out。print(s1); %> 这里是显示结果: 阿斯顿发生的发生! 好的的的大是大非! 2、String dbUrl = ”jdbc:mysql://localhost:3306/sjj”; //sims表示数据库的名字现在的数据库名字是c1,所以要把sims改成c1 String dbUser = \"root\"; //这个规定,这是mysql默认的账号 String dbPwd = \"1”; //这个是密码 Class。forName(”com。mysql.jdbc。Driver”)。newInstance(); //加载驱动程序 Connection dbcon = DriverManager。getConnection(dbUrl, dbUser, dbPwd); //建立数据库连接 Statement dbstate = dbcon。createStatement(); //建立执行SQL语句的实例 String sql = ”select * from studenttbl\"; ResultSetrs = dbstate。executeQuery(sql); //获取查询结果集 while(rs。next()) //这里的循环是比较智能的,刚开始循环的时候,指针会定位在第一条返回的记录那里,每次循环都会判断后面还有没有记录 { out。print(rs。getString(”id”)+”,”); //这里是根据取出当行数据中选中的字段返回数值 out。print(rs。getString(\"username\")+”,”); out.print(rs。getString(\"password\")+”,”); out。print(rs.getString(”name\")+”,\"); out。print(rs。getString(\"sex\")); out。println(\" 六、编程题(每题15分,共15分) 42、44 因篇幅问题不能全部显示,请点此查看更多更全内容
〈/body〉 〈/html〉 dd。html代码:
dbstate。close(); dbcon.close(); //关闭数据库连接