期末复习考点
启动 和 关闭Tomcat 的命令?
- startup.bat
- shutdown.bat
Web服务器有哪些?
- webLogic
- webSphere
- JBOSS
- Tomcat
配置xml 时,需要写哪些东西,他们分别表示什么意思?有哪些需要注意的?
<load-on-startup>
要写非负整数,数值越大执行优先级越高对吗?
不对
在标签下配置
- 第一次被访问时,创建 的值为负数
- 在服务器启动时,创建
的值为0或正整数
servlet的内置方法有哪些?
- init() 初始化方法
- destroy() 销毁方法
- getServletConfig() 获取ServletConfig对象
- getServletInfo() 获取ServletInfo对象
- service() 提供服务方法
Eclipse是Java开发的集成开发环境,对吗?
是
Eclipse开发环境中,.jsp、.html、.java分别放在哪个目录下
.jsp、.html在WebContent 中,.java在src目录下
WebRoot =等价于==WebContent ,对吗?
是的,
在表单里,发送敏感数据用什么方法
POST
get方式提交和post方式提交有什么区别
GET请求的数据内容会显示在URL中明文传输,POST不会。
servlet中的数据能与jsp共享吗?怎么实现呢?
可以,
-
jsp(页面)将数据传递到servlet 最常用的方式:利用表单参数或url超链接参数实现数据传递
-
从servlet调用jsp,存在两种调用方式: 转发和重定向
三层体系结构有哪些?
M:Model,模型。JavaBean
- 完成具体的业务操作,如:查询数据库,封装对象
V:View,视图。JSP
- 展示数据
- 提交请求
C:Controller,控制器。Servlet
- 获取用户的输入数据
- 调用模型
- 将数据交给视图进行展示
JSP中的三种脚本元素分别是
<% 代码 %>
:代码段(Scriptlet),在service方法中。service方法中可以定义什么,该脚本中就可以定义什么。<%! 代码 %>
:声明,在jsp转换后的java类的成员位置。<%= 代码 %>
:表达式,会输出到页面上。输出语句中可以定义什么,该脚本中就可以定义什么
JSP的注释有哪些?
- html注释:
<!-- -->
:只能注释html代码片段。 - jsp注释:推荐使用
<%-- --%>
:可以注释所有
JSP中的隐式注释为
<%–jsp隐式注释–%>
JSP的指令有哪些 ? 指令的属性分别有什么用?
page
设置页面信息include
引入外部的资源文件taglib
引入外部标签
jsp的运行原理
jsp 的本质其实是一个 Servlet 程序(.java)。最终以Servlet方式运行,所以可以说Jsp是一种特殊的Servlet。
jsp的内置对象有哪些?分别是什么用
request:HttpServletRequest对象,得到用户请求信息
response:HttpServletResponse对象,服务器向客户端的回应信息
pageContext:jsp页面上下文对象,包含页面信息,JSP的页面容器
session:会话对象,用来保存用户的信息(代表每个会话)
application:应用(ServletContext)对象,代表整个应用程序,所有用户的共享信息
config:配置(ServletConfig)对象,代表配置文件中的信息 ,服务器配置,可以取得初始化参数
out:jsp输出流(JspWriter)对象,用于页面输出
page:指向当前jsp页面的对象(基本不使用),指当前页面转换后的Servlet类的实例
exception:异常对象,表示JSP页面所发生的异常,在错误页中才起作用
jsp的四大作用域及其排序
request:作用在请求阶段
设置参数
request.setAttribute("key", "value");
获取参数
request.getAttribute("key");
返回的是对象
pageContext:作用在某个页面
设置参数
pageContext.setAttribute("key", "value");
获取参数
pageContext.getAttribute("key");
session:作用在整个会话
servlet中设置参数
request.getSession().setAttribute("key", "value");
jsp中设置参数
session.setAttribute("key", "value");
获取参数
session.getAttribute("key");
application:作用在整个应用程序
Servlet设置参数
request.getServletContext().setAttribute("key", "value");
jsp设置参数
application.setAttribute("key", "value");
获取参数
application.getAttribute("key");
exception 内置对象的什么方法返回与此异常关联的描述性错误信息?
exception.getMessage();
转发和重定向怎么写?他们有什么区别。
request.getRequestDispatcher("index1.jsp").forward(request, response);//转发
response.sendRedirect("index.jsp");//重定向
-
转发:
客户发送一个请求到服务器端,找到对应的servlet,转发时调用request.getDispatcher,跳转到对应的页面,整个过程是在服务器上完成的,jsp和servlet共用request,getAttribute()可以值。 -
重定向:
重定向是调用sendRedirect()方法,通知浏览器(客户端)跳转新的网址,是两次请求,第二个request获取不到第一个reques的值。
一个基本的web项目构成必须有web.xml配置文件和WEB-INF文件夹。对吗?
必须有WEB-INF但是可以没有web.xml
一个基本的web项目构成,WEB-INF文件夹是必须的。对吗?
对的
tomcat 启动时需要配置JAVA_HOME 环境变量吗?
是的。8.0以上必须需要
getCharacterEncoding();返回字符编码方式。对吗
对的
getAttribute (“”)返回一个Object类型对象。对吗?
对的
tomcat 安装后默认端口80。对吗
不对,8080
WEB-INF下资源不能被浏览器直接访问。对吗
对的
将session与浏览器联系起来的手段有Cookie和URL rewriting,URL rewriting通过调用HttpServletResponse的encodeRedirectURL重写重定向资源。
- 将session与浏览器联系起来的手段有Cookie和URL rewriting, 所用Cookie变量缺省为 B , URL rewriting的缺省参数是 A 。URL rewriting通过调用HttpServletResponse的 D 重写重定向资源,调用 C 重写一般资源。
A. jsessionid
B. JSESSIONID
C. encodeURL
D. encodeRedirectURL
JSTL是JSP标准标签库,其中用于数据库访问的标签库,前缀是sql
对的
Cookie
- 怎么创建Cookie
Cookie cookie=new Cookie(cookieName, "Test_Content"); cookie.setMaxAge(10); //存活期为bai10秒
- 怎么存Cookie
java response.addCookie(cookie);
- 怎么取Cookie
javaCookie cookie = (Cookie) cookieMap.get(name);
form的method属性如果不指定,默认为什么请求。
GET
tomcat是一个开源的免费的web服务器,但是它并不支持javaEE所有规范。
对的
里面的内容必须以 / 开头。
错,以前缀”*.”开头的是用来做扩展映射的。
WEB-INF下什么资源能被浏览器直接访问。
JSP
大题(代码)
怎么用sql 语句创建一个表
-- 创建表名为t_user
create table t_user (
id varchar(32) NOT NULL COMMENT '学号' ,
username varchar(32) NOT NULL,
password varchar(32) NOT NULL,
hobby varchar(32) NOT NULL,
email varchar(32) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
如何在jsp页面用表格显示数据(从数据库中取数据)
<table>
<tr>
<td>id</td>
<td>username </td>
<td>password </td>
</tr>
<c:foreach items="${list}" var="str" Status="i">
<tr>
<td>${str.id}</td>
<td>${str.username }</td>
<td>${str.password }</td>
</tr>
</c:foreach>
</table>
如何通过代码查询数据库里的数据
ResultSet rs = DBUtils.executeQuery("select * from t_user where username = ?", username);
String pwd = null;
while (rs.next()) {
pwd = rs.getString("password");
}
(不需要写DButil类。直接使用DUtil类即可)