第一部分 JavaWeb基础入门
1、JSP入门
JSP语法
声明语法 <%! int i = 0; %>, 此方式声明的变量为成员变量和成员函数程序脚本 <% int j = 0; %>, 此方式声明的变量为局部变量和局部函数注释 <%-- java脚本。jsp中其他代码 --%>内容输出表达式 <%= %>包引入语法 <%@page import = "java.util.* ,java.io.* "%>
<span></span>被用来组合文档内的行内元素
2、JSP内置对象
JSP内置对象(9个内置对象): 不需要预先声明就可以在脚本代码和表达式中随意使用
作用域:pageContext、request、session、applicationrequest:封装了由web浏览器或其他客户端生成http请求的细节(参数,属性,头标,数据)
out:代表输出流的对象response:封装了返回到http客户端的输出,向页面作者提供设置响应头标和状态码的方式request作用域:用户的请求周期,相邻两个web资源之间共享pageContext:提供了转发请求到其他资源和包含其他资源的方法,提供获取其他内置对象的方法
pageContext.forward("a.jsp?name=imooc"); 请求转发的方法 pageContext.include("header.jsp"); include动态指令 pageContext.getRequest(). 获取其他内置对象page:代表了正在运行的由JSP文件产生的类对象
pageContext作用域:当前执行页面
session:主要用于跟踪会话。会话是代表用户第一次进入当前系统直到退出系统或关闭浏览器,在此期间与服务器的一系列交互session作用域:会话期间config:获取配置信息
exception:异常对象
exception只能在错误页面中使用, isErrorPage=“true” 指定错误页面去处理,errorPage来设置application对象:提供了关于服务器版本,应用级初始化参数和应用内资源绝对路径方式
application作用域:web容器的生命周期两个jsp页面传递数据,通过URL参数的方式。 资源?key=value&key=value
4、Servlet入门
Servlet 是java servlet简称,称为小服务程序或服务连接器,用java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态web内容。
servlet生命周期:
1、初始化阶段调用init()方法 2、响应客户请求阶段调用service()方法 3、终止阶段调用destory()方法jsp就是servlet
请求 request.getParameter()
整个javaweb工程可以用一个对象表示 ServletContext
某一个Servlet的配置文件表示为ServletConfig获取代表某一个javaweb工程的servletContext对象 this.getServletContext()
获取servletconfig对象 this.getservletConfig()实现转发调用的HttpServletRequest对象中的方法,实现重定向调用的是HttpServletResponse对象中的方法
转发时浏览器中的url地址栏不会发生变化,重定向时浏览器中的url地址会发生改变转发时浏览器只请求一次服务器,重定向时浏览器请求两次服务器request.setAttribute("key","value");request.getRequestDispatcher("/").forward(request,response); 跳转页面request.getAttribute("key");ServletContext sc = request.getServletContext();
sc.setAttribute("key","value");response.sendRedirect("/fail.jsp");application.getAttribute("key");5、web实现登录注册功能
MVC
用户的请求都提交到servlet(C)由C统一调度javabean(M)封装和处理数据由jsp(V)进行数据显示文件的上传:文件的输入流对接到文件的输出流。
cookie记住用户名:
//新建cookie Cookie cookie = new Cookie("username",username); cookie.setPath("/reg_login"); cookie.setMaxAge(60*60*24); response.adCookie(cookie);//获取cookie
Cookie[] c = request.getCookies();------------------------------------------------------------------------------------------------------------
第二部分 JavaWeb基础进阶
1、JSTL和EL表达式
EL expression language表达式语言,目的是替代JSP页面中的复杂代码 ${变量名}
JSTL标准签库 (JavaServerPages Standard Tag Library)通常会和EL表达式合作实现JSP页面编码。解决取复杂类型数据的问题,避免jsp中直接书写java代码
set out remove标签
if choose标签
foreach标签
2、Ajax概述
Ajax是一种用于创建快速动态网页的技术。
特点:通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新。
jquery是JavaScript的一个库, $定义JQuery 选择符(document)——“查询”和“查找”HTML元素
Ajax的语法总结:
url:请求地址 type:请求时数据的传递方式(get/post) data:用来传递的数据(建议用json传递) success:交互成功后要执行的方法 dataType:ajax接收后台数据的类型(建议json)
3、java的正则表达式
正则简介 使用特殊的符号来校验,目标是操作字符串。
正则表达式语法:
[abc] a、b或c
[a-zA-Z] a到z或A到Z,两头的字母包括在内
\d数字:[0-9]
X{n} X,恰好n次
X{n,} X,至少n次
在正则表达式中 ^表示正则的起始标记,$表示结束标记。
前台校验局限性
后台校验
4、Java过滤器
过滤器 :实现对web资源请求的拦截,完成特殊的操作,尤其是对请求的预处理。
web资源包括JSP Servlet 图片 文件等。
过滤器的应用场景:web资源权限访问控制;请求字符集编码处理;内容敏感词汇过滤;响应信息压缩。
过滤器生命周期:web应用启动时开始,过滤器对象停留在内存,直到web应用移除或服务器停止
过滤器的实现步骤:1、编写java类实现filter接口,并实现其doFilter方法。
2、在web.xml文件中对filter类进行注册,并设置所拦截的资源
过滤器链
web.xml初始化参数信息 <init-param></init-param>