新建空项目
1.在IDEA中创建一个空项目
路径D:\d01\project\javawebaaa
项目名称 javawebaaa
文件->新建->空项目
2.可以在空项目中创建多个模块: 模块1 模块2 模块3 ......
模块1的路径:D:\d01\project\javawebaaa\webmod3
文件->新建->新模块->java Enterprise
模块2的路径: D:\d01\project\javawebaaa\webmod4
文件->新建->新模块->java Enterprise
3.在一个模块中创建以下内容
(1)导入druid_mysql.properties配置文件
(2)导入JDBCUtils
(3)导入jar包
写代码要分层:三层架构
视图层: 界面层,用户能看到的部分
业务逻辑层: 处理业务逻辑
数据访问层: 数据访问
session
1.(1)获取session
(2)HttpSession session = request.getSession();
(3)存储数据(存储session)
session.setAttribute("info1", "valueOfInfo1");
(4)获取域对象
String str_info1 =(String)session.getAttribute("info1");
2.当客户端关闭后,服务器不关闭,两次获取session不是同一个,如果想是同一个可以进行设置,但是前提是客户端要打开cookie功能,不要手动删除cookie
3.销毁session
(1)关闭服务器的时候
(2)session对象调用invalidate() 。
(3)session默认失效时间 30分钟
选择性配置修改 在web.xml中配置session存活时间
4.session的特点
(1)session用于存储一次会话的多次请求的数据,存在服务器端
(2)session可以存储任意类型,任意大小的数据
5.session与Cookie的区别:
(1)session存储数据在服务器端,Cookie在客户端
(2) session没有数据大小限制,Cookie有
(3) session数据安全,Cookie相对于不安全
jsp
1.<%@ page contentType="text/html;charset=UTF-8" language="java" errorPage="error.jsp" pageEncoding="utf-8" %>
(1)errorPage="error.jsp" 当前页面发生异常后,会自动跳转到指定的错误页面
(2)isErrorPage:标识当前也是是否是错误页面。 (写在errorPage.jsp文件中)
true:是,可以使用内置对象exception
false:否。默认值。不可以使用内置对象exception
2.include : 页面包含的。导入页面的资源文件
<%@ include file="top.jsp"%>
将top.jsp文件中的内容引入到本文件中,在页面上显示
3.taglib : 导入资源
<%@ taglib prefix="c"uri="http://java.sun.com/jsp/jstl/core" %>
prefix:前缀,自定义的
4.注释:
(1) html注释: :只能注释html代码片段
(2) jsp注释:推荐使用 <%-- --%>:可以注释所有
jsp中的内置对象
在jsp页面中不需要创建,直接使用的对象,一共有9个:
变量名 真实类型 作用
pageContext PageContext 当前页面共享数据,还可以获取其他八个内置对象
request HttpServletRequest 一次请求访问的多个资源(请求转发)
session HttpSession 一次会话的多个请求间
application ServletContext 所有用户间共享数据
response HttpServletResponse 响应对象
page Object 当前页面(Servlet)的对象,相当于this引用
out JspWriter 输出对象,数据输出到页面上
config ServletConfig Servlet的配置对象
exception Throwable 异常对象(isErrorPage=”true”标记当前页面是错误页)
面试 jsp四大域对象
域对象 对象的类型 含义
pageContext PageContext 当前页面共享数据,还可以获取其他八个对象 getXXXX
request HttpServletRequest 一次请求访问多个资源(经常这样使用:前端页面Servlet,servlet进行处理,然后再请求转发)
session HttpSession 一次回话的多个请求之间共享数据(浏览器中cookie不关闭就可以获取到,)
application ServletContext 所有用户间共享数据
( ServletContext翻译为Servlet上下文 或 应用程序上下文)
Servlet 三大域对象,比JSP少一个pageContext域对象
request 类型:HttpServletRequest需要手动获取
session 类型: HttpServlet需要手动获取
servletContext: 类型ServletContext
MVC:开发模式
1. jsp演变历史
1.早期只有servlet,只能使用response输出标签数据,非常麻烦
2.后来又有了jsp,简化了Servlet的开发,如果过度使用jsp,在jsp中即写大量的java代码,又写html表,造成难于维护,难于分工协作
3.再后来,java的web开发,使用mvc开发模式,使得程序的设计更加合理性
2. MVC:
1. M:Model,模型。(业务逻辑,JavaBean)
*完成具体的业务操作,如:查询数据库,封装对象
2. V:View,视图。一般是JSP或html文件
*用来展示数据
3. C:Controller,控制器。Servlet
*获取用户的输入
*调用模型
*将数据交给视图进行展示
*优缺点:
1.优点:
1.低耦合(解耦),方便维护,可以利于分工协作
2.重用性高
2.缺点:
1.使得项目架构变得复杂,对开发人员要求高
EL表达式
1.作用:替换和简化jsp页面中java代码的编写
2.语法:${表达式}
3.注意:
jsp默认支持el表达式的。如果要忽略el表达式
(1)设置jsp中page指令中:isELIgnored="true"忽略当前jsp页面中所有的el表达式
(2) \${表达式} :忽略当前这个el表达式
+