servlet
1.servlet必须运行在什么中?有哪些对应的服务器?
运行在web 服务器中,常用的有taomcat jetty
2.servlet的实现类在容器中有几个实例?
只有一个!!!
3.servlet是动态资源么?
是
4.http请用常用的两种请求方式?
get post
5.tomcat中webapps的作用?
存放我们java-web项目,如果放置的是.war包 tomcat启动时自动解压 war包
6.servlet工程中必须引入tomcat中那个两个jar包?
servlet-api.jar
jsp-api.jar
7.HttpServlet中请求和响应对象分别是什么?
HttpServletRequest HttpServletResponse
8.doGet(),doPost()和service()方法是什么关系?
service() 根据前端请求的方式判断 调用doGet(),doPost()
9.如何获取请求参数?
request.getParameter(“username”)
10如何解决doPost()请求参数乱码问题?
request.setCharacterEncoding(“utf-8”)
11.如何解决响应乱码问题?
response.setContentType(“text/html;charset=utf-8”)
12.使用QueryRunner完成单个user数据查询?
sql = “select * from user_tb where id = ?”
queryRunner.query(“sql”,new BeanHandler<>(User.class),id);
13.使用QueryRunner完成多个user数据查询?
sql = “select * from user_tb”
queryRunner.query(“sql”,new BeanListHandler<>(User.class));
14.使用QueryRunner完成更新user?
sql = “update user_tb set username = ? ,password=? where id = ?”
queryRunner.execute(sql,username,password,id);
15.post请求和get请求区别?
url: post请求数据放在body中, get数据放在url后面?key1=value1&key2=value2
数据大小:post 无限制 get有数据大小限制
安全:post 安全 get url明文提交不安全
16.转发和重定向的区别?
url 地址栏: 转发不发生变化 重定向发生变化
发生位置:
转发发在服务器内部(服务器行为)
重定向 服务器接收请求返回一个新的url,客户端重新使用新的url发起请求 (客户端行为)
数据是否丢失: 转发数据不丢失 重定向数据丢失
17.servlet如何转发?
req.getRequestDispatcher(“url”).forward(req,resp)
18.servlet如何重定向?
resp.sendRedirect(“url”)
19.servlet生命周期关键方法和作用?
构造方法 实例化
init() 初始化 初始化资源
service() 接收用户请求,返回响应数据
destroy() 销毁调用 释放的资源
20.什么是cookie?
cookie就是存储在客户端的一小块信息,以key value键值对形式存储,value 是string,cookie由服务器产生,响应时通过Header向浏览器传递,浏览保存,如果设置了时间,浏览器到期自动删除
作用: 记录用户信息
21.什么是session?
session就是会话,服务器为客户端建立的一个Session对象,用来存储用户信息,存储也是键值对 value是Object类型
会话:一个浏览器多个窗口共享一个会话,如果用户尝试不操作 超过设置最大存活时间(默认30min),session自动失效
22.如何使客户端cookie失效?
在服务端创建 cookie 或者 设置cookie setMaxAge(0),发送给客户端,客户端收到响应 age为0,立即删除
23.如何使Session失效?
1.获取当前seeeion
2.setMaxInActiveInterval(0) 或者 调用invalidate()
24.HttpServletRequest ,Session,ServletContext 有什么相同点,作用域有什么区别?
都可以用来存储数据
HttpServletRequest 再一次请求中有效
Session 当前某一个用户会话有效,会话结束,销毁
ServletContext 针对当前应用,当tomcat启动时,开始有效,tomcat停止 失效
25.cookie与session的区别与关系?
存储位置:cookie 存储客户端(由服务器生成) session 存储在服务器
安全:cookie 不安全 session 安全 用户无法获取
数据大小: cookie不能 存储超过4k数据
session 是基于cookie实现,服务器产生的session 会将session 以cookie 形式发送给客户端,客户端每次请求携带 JsessionID,服务器才能 识别当前会话
26.声明Filter的两种方式?
1.在web.xml声明 <filter> <fitler-mapping>
2.注解@WebFilter("/goods/*") *.do
27.Filter的执行的优先级?
1.基于注解 按照Filter名字顺序(不常用)
2.基于web.xml 按照<fitler-mapping>
声明的上下关系,越考上,优先级越高
28.Filter的作用及使用场景?
1.拦截 不调用 放行 filterChain.doFilter(req,reps)
2.解决代码重复,将公共重复代码进行抽离
场景:
1.设置编码格式
2.记录日志
3.鉴权登陆
4.黑名单,敏感词
jsp
1.jsp与servlet的关系?
jsp 是html 和java代码的嵌套,本质上就是servlet
tomocat 去加载jsp文件 将jsp文件----》servlet Java文件 — .class 文件
2.jsp在什么标签下执行java代码,声明java代码,输出java代码?
<%
写 java 代码
%>
<%!
声明 1.声明 变量(可以初始化) 2.声明方法
%>
表达式
<%=java代码块中的变量%>
3.jsp中常用的内置对象?
response request session application pageContext out
4.el表示式获user1中username的方式?
User user1 = new User(100,"四哥","男");
// 在request 设置引用类型
request.setAttribute("user1",user1);
${user1.username}
${requestScope.user1.username}
${requestScope["user1"]["username"]}
5.${code} 获取值时查找作用域的优先级?
pageScope —> requestScope —> sessionScope—>applicationScope map<key ,value>
真正取数据的地方 pageContext.getAttribut(“key”)
6.el表达式常用的隐式对象有那些? 11个
pageScope requestScope sessionScope applicationScope pageContext cookie param header
7.el表示式获取上下文路径?
${pageContext.servletContext.contextPath}
8.使用el表示式遍历集合展示一下列表
<%
User user1 = new User(100,"四哥","男");
User user2 = new User(101,"广坤","男");
ArrayList<User> userList = new ArrayList<>();
userList.add(user1);
userList.add(user2);
// 将数据放在 request 属性中
request.setAttribute("userList",userList);
%>```
思路:
1.导包 jstl.jar stander.jar jstl 需要jar 添加依赖
2.在jsp 引入 jstl -----core
3.c:forEach