1.什么是动态网页和静态网页?
首先动态网页指的是可以和用户进行交互的网页,静态则指的是无法和用户交互的网页。
动态网页 需要HTML,CSS,数据库技术以及至少一门高级语言,主流动态网页脚本技术(Jsp/Asp.net/PHP)
静态网页 需要HTML,CSS等技术,页面是固定的不会更新
2.Tomcat目录结构的理解
- bin 存放的是二进制可运行文件如(startup.bat、showdown.bat这些在window下运行,而startup.sh等是linux下运行)
- conf 这里存放的tomcat的配置文件,如(server.xml等重要配置文件,这个文件可以配置如端口,设置URIEncoding编码,可解决中文问题。如web.xml可以配置session默认存活时间,这里默认是30分钟)
- lib tomcat服务器的需要的jar包
- webapps 存放的是web项目,
- work 存在jsp生成的servlet字节码文件和源文件
3.JSP基本语法
<% %>
java语言脚本如<% out.println(“你好”);<%! %>
进行变量的声明或者是函数的定义<%= %>
表达式语法(注意不能用;)- <– –> jsp注释只有jsp文件本身看的到(html注释在客户端可见,但是jsp注释是服务器端的所以客户端看不到,并且jsp编译生成的servlet中也不会显示,如果要显示用//或/**/)
- <%@ %> 指令操作(在页面头)有page、include、taglib。page用来指定页面脚本language=”java” contentType =”text/html;charset=utf-8”可以指定页面编码UTF-8并告诉客户端用utf-8解码
4.JSP内置对象
- out JSP用来向客户端输出内容的对象
- request JSP获取客户端的请求或转发request.getRequestDispatcher(“url”).forward(request,response);
- response JSP给客户端响应或用来重定向response.sendRedirect(“url”);
- session 可以存放一些属性,在会话存活期间都可以使用,方法有setAttribute(“attributeName”,Obejct Value);getAttribute(“attributeName”);setMaxInactiveInterval(int second); session过期(1.浏览器访问了网页生成了会话,并且没有关闭浏览器,则在访问这个服务器是同一个会话;所以浏览器关闭则此会话结束,但是会话仍保存在服务器的内存中。2.session 过期。3.服务器重启,则所有session都给清除
- application 类似与类变量,在整个项目都可以使用的的变量,也有setAttribute和getAttribute
- page
- exception 要有errorPage=”url” 在异常处理页面还有isErrorPage=”true”
- pageContext 可以获得out,request,response,session等对象
- config
5.JSP的动作
<jsp:useBean id="实体类的变量名" class="包.类" scope ="作用范围"/>
scope的作用范围有4个page、session、application、request。<jsp:setProperty name="实体类的变量名" property="实体类属性名" value ="值"/>
property=”*”这样设定时,实体类属性名和表单中的元素名匹配<jsp:getProperty name="实体类的变量名" property="实体类属性名" />
获得值<jsp:forward page = "url" />
服务器跳转,等同于request转发<jsp:param name = "变量名" value = "值" />
属于forward的字标签,在转发的同时在发送一个参数;
6.指令include和动作include
指令include是<%@ include file =”url” %> 而动作include是< jsp:include page = “url” flush = “false”>
指令include在编译成servlet的时候讲文件插入编程同一个servlet(只有一个servlet),而jsp动作是在用户请求的时候在去调用page文件,会有两个servlet。
7.Cookie和session
cookie
由于http协议的无状态性,要记录用户的状态就有cookie和session两种方法。
cookie是以键值对存在的,如Cookie cookie = new Cookie(“key”,Object value):
cookie的常用方法setMaxAge(int second)设置cookie的存活时间。
setValue(String value)设置cookie的值;
getName()获得cookie的名字(键);
getValue()获得值,cookie返回的都是String类型;
getMaxAge()获得最大生存周期;
获得客户端cookies;
request.getCookies();
返回给客户端cookie
response.addCookie(cookie);
session
存在于服务器
存放的是Object
跟随会话销毁