**
**
1.常见的选择器
元素选择器
id选择器 对应#符号
class选择器 对应 . 符号
2.行内元素有哪些?块级元素有哪些?
块级元素:div p h1 h2 h3 h4 from ul
行内元素: a b i span input select
3.前端页面有哪三层构成,分别是什么?作用是什么?
结构(内容)层 :html
表示层:CSS
行为层:js
4.标签title与alt属性的区别是什么?
Alt当图片不显示时用文字代表
Title为该属性提供信息
5.javascript 的typeof返回那些数据类型?
Object number function boolean undefined
声明了但是未赋值的时候,类型是: undefined
赋值为5之后,类型是: number
赋值为5.1之后,类型是: number
赋值为true之后,类型是: boolean
赋值为hello之后,类型是: string
6.javascript中如何进行数字和字符串转换
Number,Boolean和String转换字符串:toString()
数字 10 转换为字符串10
布尔 true 转换为字符串true
字符串 hello javascript 转换为字符串 hello javascript
javascript分别提供内置函数 parseInt()和parseFloat(),转换为数字
注:如果被转换的字符串,同时由数字和字符构成,那么parseInt会一直定位数字,
直到出现非字符。 所以"10abc" 会被转换为 10
使用内置函数Boolean() 转换为Boolean值
当转换字符串时:非空即为true
当转换数字时:非0即为true
当转换对象时:非null即为true
Number()和parseInt()一样,都可以用来进行数字的转换
区别在于,当转换的内容包含非数字的时候,Number() 会返回NaN(Not a Number)
parseInt() 要看情况,如果以数字开头,
就会返回开头的合法数字部分,如果以非数字开头,则返回NaN
String()和toString()一样都会返回字符串,区别在于对null的处理
String()会返回字符串"null"
toString() 就会报错,无法执行
7.如何隐藏一个元素:
CSS隐藏元素有两种方式:
display:none;(不占位置)
visiblity:hidden;(要占位置)
JQuery方式隐藏元素方式:
$(selector).hide()
**
**
1.9种隐式对象,以及他们的用途
JSP一共有9个隐式对象
request:请求
response:响应
out :输出
pageContext:当前页面作用域
session:代表当前会话作用域
application :全局作用域
config:可以获取一些在web.xml中初始化的参数
page:代表当前对象
exception:表示异常对象
2.3种JSP的指令
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" isELIgnored="false"%>:
JSP的基本设置,比如编码方式,import其他类,是否开启EL表达式
<%@include file="footer.jsp" %>:包含其他的文件
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>:JSTL标准标签库
EL会按照从高到低的优先级顺序获取
pageContext>request>session>application
3.2种JSP的动作
:服务端跳转
:包含其他文件
4.doGet()和doPost()的区别,分别在什么情况下调用?
doGet和doPost都是在service()方法后调用的,分别来处理method=“get”和method="post"的请求
5.servlet的init方法和service方法的区别?
在Servlet的生命周期中,先调用init进行初始化,而且只调用一次。
接着在调用service,有多少次请求,就调用多少次service
6.servlet的生命周期
一个servlet的生命周期由
实例化(单例的 LoginServlet()只会执行一次),
初始化(init实例方法,只会执行一次),
提供服务(执行service()方法中的doGet()或者doPost()方法),
销毁(destory()方法),
被回收(GC垃圾回收)几个步骤组成
7.页面间对象传递的方法
假如是a.jsp传递数据到b.jsp,那么页面间的对象传递的方式有如下几种:
1.在a.jsp中的request.setAttribute,然后服务端跳转到b.jsp
2.在a.jsp中的session.setAttribute,然后跳转到b.jsp,无所谓客户端还是服务端跳转
3.在a.jsp中application.setAttribute,然后跳转到b.jsp,无所谓客户端还是服务端跳转
8.Request常见方法
request.getRequestURL():浏览器发出请求时的完整URL,包括协议,主机名,端口(如果有)+
request.getRequestURI(): 浏览器发出请求的资源名部分,去掉了协议和主机名" +
request.getQueryString(): 请求行中的参数部分,只能显示以get方式发出的参数,post方式的看不到
request.getRemoteAddr(): 浏览器所处于的客户机的IP地址
request.getRemoteHost(): 浏览器所处于的客户机的主机名
request.getRemotePort(): 浏览器所处于的客户机使用的网络端口
request.getLocalAddr(): 服务器的IP地址
request.getLocalName(): 服务器的主机名
request.getMethod(): 得到客户机请求方式一般是GET或者POST
9.J2EE是技术,还是平台,还是框架?
是平台,上面运行合种各样的技术
(servlet,jsp,filter,listener)和框架(struts,hibernate,spring)
10.servlet与jsp的关系
JSP就是Servlet
在Servlet章节中,我们说HelloServlet是一个Servlet,不是因为它的类名里有一个"Servlet",
而是因为它继承了 HttpServlet
打开转译hello.jsp 后得到的hello_jsp.java,可以发现它继承了类
(D:\tomcat\work\Catalina\localhost\_\org\apache\jsp\hello_jsp.java)
org.apache.jasper.runtime.HttpJspBase
而HttpJspBase 继承了HttpServlet
所以我们说hello_.jsp.java 是一个Servlet
11.编写JavaBean的注意事项
JavaBean就是实体类
无需构造方法,属性都有public的getter和setter
12.MVC的各个部分都有哪些技术来实现,分别如何实现
M模型层代表数据,使用bean,dao等等
V视图层代表展现,使用html,jsp,css等
C控制层代表控制,使用servlet
13.JSP中两种include的区别
一种是静态包含,一种是动态包含
JSP最后都会被转译成Servlet
如果是:指令include <%@include file="footer.jsp" %>
footer.jsp的内容会被插入到 hello.jsp 转译 成的hello_jsp.java中,最后只会生成一个hello_jsp.java文件
如果是:动作include
footer.jsp的内容不会被插入到 hello.jsp 转译成的hello_jsp.java中,还会有一个footer_jsp.java独立存在。
hello_jsp.java 会在服务端访问footer_jsp.java,然后把返回的结果,嵌入到响应中。
14.JSP中的两种跳转的方式是什么,区别是什么?
客户端跳转:jsp的客户端跳转和Servlet中是一样的。
response.sendRedirect("hello.jsp");
服务端跳转:与Servlet的服务端跳转一样,也可以使用
request.getRequestDispatcher("hello.jsp").forward(request, response);
或者使用动作,简化代码:
15.如何实现在servlet中用正则表达式对e-mail格式进行验证?
public static boolean emailFormat(String email)
{
boolean tag = true;
final String pattern1 = "^([a-z0-9A-Z]+[-|//.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?//.)+[a-zA-Z]{2,}$";
final Pattern pattern = Pattern.compile(pattern1);
final Matcher mat = pattern.matcher(email);
if (!mat.find()) {
tag = false;
}
return tag;
}
16.如何处理中文问题
中文问题分为几个部分
1.提交数据的时候
2.接受数据的时候
3.显示数据的时候
全部都使用UTF-8编码
例:
byte[] bytes= name.getBytes("ISO-8859-1"); //采用ISO方式 编码
name = new String(bytes,"UTF-8"); //采用utf-8方式 解码
要了解如下几点,才能理解透彻
1. 编码 和 解码 是什么,用utf-8来举例:
阿伦 → 阿伦 由左到右的过程,叫编码
阿伦 ← 阿伦 由右到左的过程,叫解码
2.编码和解码的方式必须一样才能避免出现乱码
假如你用utf-8编码,却用gbk来解码,那显示出来就会是乱码
3.tomcat接收到字符码之后,会直接采用ISO-8859-1方式进行解码(这是它的默认机制)
例如:
用户输入“阿伦”,浏览器采用utf-8将其编码为 阿伦 然后发给tomcat
tomcat理应用同样的utf-8来解码,但它不管不顾,依旧采用自己ISO的方式来解码,比如解码成了 ^-^ 然后显示出来, 这就是所谓的乱码。
程序员的解决办法就是先用tomcat的ISO方式再将 ^-^ 编码,恢复成 阿伦
然后再用浏览器的utf-8方式将 阿伦 解码, 就成功得到了 “阿伦”
整个流程: “阿伦” → 阿伦 → ^-^ → 阿伦 → 阿伦
这就是示例1步骤3中,先采用ISO方式编码,再用utf-8解码的原因。
17.简述你对简单servlet,过滤器,监听器的理解
servlet作用是:处理获取参数,处理业务,页面跳转
过滤器filter的作用是:拦截请求,一般会做编码处理,登录权限验证
监听器listener的作用是:监听Request,Session,Context等等的声明周期