JSP一二章笔试题

一. 什么是B/S架构,什么是C/S架构
B/S(Browser/Server) 浏览器/服务器
C/S(Client/Server) 客户端/服务器


二. B/S架构的工作原理
浏览器请求服务器
通过http请求发给服务器
接受请求
服务器解析url的文件]
根据url中的参数和文件生成html文件
然后向浏览器发送html文件
然后浏览器接收响应的html文件
解析资源文件并显示页面

 

三. 什么是URL,它由哪几部分组成
URN:Uniform Resource Name,统一资源名称。

http(协议)://localhost:8080(IP地址和端口号)/news/index.jsp(项目资源地址)


四. JSP的执行过程
1. 客户端发出Request请求
2. JSP Container 将JSP转译成Servlet的源代码
3. 将产生的Servlet源代码经过编译后,并加载到内存执行
4. 把结果Response(响应)至客户端


五. JSP页面由哪几部分构成
小脚本 <% java code%>
指令 <%@ %>
表达式 <%=%>
声明 <%!%>
静态元素
注释 <!---->
<%----%>

 

六. 如何更改Tomcat启动端口
找到conf文件夹,然后打开server.xml文件。
找到 <Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
把port8080修正成我们需要的端口,重启服务器。


七.请写出目前学过的JSP内置对象,作用分别是什么
  request 请求对象  类型 javax.servlet.ServletRequest 作用域 Request

  response 响应对象 类型 javax.servlet.SrvletResponse 作用域 Page

  pageContext 页面上下文对象 类型 javax.servlet.jsp.PageContext 作用域 Page

  session 会话对象 类型 javax.servlet.http.HttpSession 作用域 Session

  application 应用程序对象 类型 javax.servlet.ServletContext 作用域 Application

  out 输出对象 类型 javax.servlet.jsp.JspWriter 作用域 Page

  config 配置对象 类型 javax.servlet.ServletConfig 作用域 Page

  page 页面对象 类型 javax.lang.Object 作用域 Page

  exception 例外对象 类型 javax.lang.Throwable 作用域 page


八.转发和重定向有什么区别(5点)
1.转发在服务器端完成的
重定向是在客户端完成的
2.转发的速度快
重定向速度慢
3.转发是同一次请求
重定向是两次不同请求
4.转发不会执行转发后的代码
重定向会执行重定向之后的代码
5.转发地址栏没有变化
重定向地址栏有变化
6.转发必须是在同一台服务器下完成
重定向可以在不同的服务器下完成


九.对比request和session作用域
request是对一个页面的请求,如果这个页面一直转发,相当于一次请求,但是去这个网站其他的非转发页面request内的信息就消失了,刷新页面也是一次新的请求,信息也会清除。
session是一次会话,就是你访问这个网站开始到结束,这段时间,里面保存的信息是所有页面公用,会话完成才会清除。


十.手写BaseDao工具类
public class BaseDAO {

// 创建数据库的连接信息
private static final String driver = "com.mysql.jdbc.Driver";
private static final String url = "jdbc:mysql:///petShop";
private static final String username = "root";
private static final String password = "";

// 创建三个接口
private Connection con;
private PreparedStatement ps;
private ResultSet rs;

// 返回连接信息
public Connection getConnection() throws Exception {
// 注册驱动
Class.forName(driver);
// 判断连接是否为空 或者 是否开启
if (con == null || con.isClosed()) {
// 创建驱动管理器
con = DriverManager.getConnection(url, username, password);

}
return con;

}

// 增删改方法
public int executeUpdate(String sql, Object... objs) throws Exception {
ps =getConnection().prepareStatement(sql);
setSqlValues(objs);
int count = ps.executeUpdate();
return count;

}

// 查询方法
public ResultSet executeQuery(String sql, Object... objs) throws Exception {
ps=getConnection().prepareStatement(sql);
setSqlValues(objs);
ResultSet rs = ps.executeQuery();
return rs;

}

public void setSqlValues(Object... setValues) throws Exception {
if (ps != null && setValues != null) {
for (int i = 0; i < setValues.length; i++) {
ps.setObject(i + 1, setValues[i]);
}
}
}

// 关闭资源的方法
public void closeAll() {
try {
if (this.rs != null) {
this.rs.close();
}
if (this.ps != null) {
this.ps.close();
}

if (this.con != null) {
this.con.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}

}

 


十一 三种注释以及区别

三种注释 本页面 Java类 HTML标签
html注释 <!--html注释--> 有 有 有
java注释 //java注释 有 有 没有
jsp注释 <%-- <%=num %> jsp注释 --%> 有 没有 没有

 

十二、写出session常用的三个方法,并且写出入参和返回值

setAttribute(String name, Object value)getAttribute(String name)
removeAttribute(String name)
添加(修改)值、获取值、删除值。

posted @ 2018-07-28 16:58  H丶  阅读(199)  评论(0编辑  收藏  举报