java server pages(Java服务端页面),实现了在HTML标签当中使用JAVA
TOMCAT 安装环境CATALINA_HOME 值为tomcat所在根目录 (要和JRE版本号相对应)
WEB-INF目录是安全目录,不能通过客户端(网页)打开,只有服务端(文件夹)可以访问。
Web.xml文档用于配置欢迎首页等,修改后需重启TOMCAT。
Myeclipse配置JREwindows>preference>java>installed JREs>add>standardVM>directory>jdk安装目录
集成TOMCAT服务器windows>preference>Myeclipse>Server>Tomcat>enable+browse>展开左侧tomcat7.x标签>jdk
虚拟路径可以更改(文件夹名称更改) 项目右键> preference>Myeclipse>web
Conf/server.xml文档修改默认端口号 <connector />标签中的port属性
Page指令 <%@ page 属性1=“属性值” %> 属性:language/import/contentType
JSP注释 JSP注释<%-- --%> 或者脚本注释<%// /* */ %>客户端不可见
HTML注释<!-- -->客户端可见(源代码中)
JSP脚本 <% JAVA代码%>
JSP声明 <%! JAVA代码%> 在<%! %>中声明的变量,是全局变量,在<% %>中声明的变量,是 局部 变量
JSP表达式 <%=表达式 %> 用来调用变量或者方法,表达式不以分号结束
OUT对象: out.print()想HTML页面输出内容
voidclear() 清除缓冲区内容,不过在flush之后调用会抛出异常
VoidclearBuffer()清除缓冲区内容,在flush之后调用不会抛出异常
Voidflush() 将缓冲区内容输出到客户端
VoidgetBufferSize() 返回缓冲区字节大小
VoidgetRemaining() 返回缓冲区还剩余多少可用
BooleanisAutoFlush() 缓冲区满时,是否自动清空
Voidclose() 关闭输出流
Get和post区别: get以明文的方式通过URL提交数据,最多不超过2KB,效率高。适合搜索、查询 等功能。
Post将用户信息封装在HTML HEADER内。适合数据量大、安全性高的信息。例如: 注册、修改、上传等。
request对象: StringgetParameter(String name)返回参数name的参数值
String[]getParameterValues(String name)返回包含name所有值得数组
VoidsetAttribute(属性名,属性值) request.setCharacterEncoding();
URIEncoding=”UTF-8” 在SEVER.XML中加入,可解决URL(超链接)参数中文乱码问题
response对象 sendRedirect(String location)重定向请求
PrintWritergetWriter() 返回可以向客户端输出字符的对象,输出的内容比内置out 对象输出的内容要靠前,可通过flush()方法解决。
请求转发和请求重定向区别:
请求重定向:客户端行为,response.sendRedirect(String location),等同于两次 请求,前一次请求对象不会被保存,URL地址会改变。 超链接属于重定向
请求转发:服务器行为,request.getRequestDispatcher().forward(req,resp)是一 次请求,转发后请求对象会保存,URL不改变
Session对象: getVAlueNames(); 返回包含此SESSION中所有可用属性的数组
销毁方式:1、session.invalidate() 2.过期(可在WEB.XML配置过期时长)3、服 务器重启
关闭所有浏览器窗口再打开会创建新的Session但是旧session仍然保存在服务器 端,直到超时。
Application对象: 生命周期从服务器启动到关闭
<jsp:useBeanid=” myUsers” class=”com.po.Users” scope=”application”/>
application.getAttribute(“myUsers”)application里面存储的类似map集合通过 myUsers这个KEY值,返回一个OBJECT对象(“myUsers”的value值),再通过强制转 换,可获得myUsers这个 对象。
pageContext对象: getSession()返回当前页面中的session对象
getRequest() getResponse()
voidforward() 是当前页面重导到另一页面
voidinclude() 在当前位置包含另一文件
config对象
exception对象 抛出异常页面必须有errorPage=”exception.jsp”,才能将异常交给指定JSP页面处理
处理异常页面要想获得exception对象必须有isErrorPage=”true”属性
Javabean:1、满足条件共有类、无参公有构造方法、属性私有、getter和setter方法
2、通过表单、实体类、动作标签相互关联,进行对象的赋值和取值。
动作标签:<jsp:useBean id=”对象名” class=”java类全名” scope=”作用范围”/>
<jsp:setPropertyname="对象名" property="*"/> 属性值与表单关联,设置所有属性值
<jsp:setPropertyname="对象名" property="javabean属性名"/>属性值与表单关联,设置 一个属性值
<jsp:setPropertyname="对象名" property=" javabean属性名" values=”BeanValue”/>
属性值手工设置
<jsp:setPropertyname="实例名" property="propertyName"param=”request对象中的 参数名”/> 和request参数关联,例如:URL中的参数
<jsp:getPropertyname="实例名" property="javabean属性名"/>获取对象的属性值
Cookie: Cookie newCookie=new Cookie(Stringkey,Object value);
保存cookie response.addCookie(newCookie);
读取cookie Cookie[] cookies=request.getCookie();
Cookiec; c.getName();获得Cookie对象的key值。 C.getValue();获得cookie的value。;
c.setMaxAge(0);当设置cookie的有效期后,还需要再次保存cookie,否则设置无效。
Session和cookie的对比: session保存在服务器端 cookie保存在客户端
Session保存的是Object类型 cookie保存的是String类型
随着回话结束而销毁 长期保存在客户端
保存重要信息 保存不重要信息
Include指定与动作的比较: 指令 动作
发生作用时间: 页面转换期间 请求期间
包含的内容: 文件的实际内容(代码) 页面的输出(结果)
转换成servlet: 主页面和包含页面转换成一个servlet 转换成两个独立servlet
编译时间: 较慢---资源必须被解析 较快
执行期间: 稍快 较慢---每次资源必须解析
Forward动作: <jsp:forward page=”URL”/>等同于
request.getRequestDispatcher(“/URL”).forward(request,response);
param动作: <jsp:forward page=”user.jsp”>
<jsp:param name=”password” value=”123456”>
<jsp:forward>