Java Web知识点整理:第三章:jsp学习和MVC模式

来源:互联网 发布:数据线速度测试 编辑:程序博客网 时间:2024/05/16 17:34

1.一张图,自己画的,希望可以帮助各位在脑海里对MVC和B/S有个清晰的认识:



2.Jsp的知识点梳理:

1.转发和重定向的区别:

a.转发:
                本质是只有一次请求;

                地址栏显示的地址是第一次请求的地址

                转发的范围只能在该应用内部;

                首/:是当前的工程名字

 b.重定向:
                  至少有两次请求;
                  地址栏显示的地址是第二次请求的地址
                  重定向范围不限;
                  首/:当前的站点(当前的服务器)

一些琐碎的知识点:

在jsp中,<%out.print(变量|常量);%>等价于<%=变量|常量%>(jsp表达式);

basePath的地址是:http://localhost:8080:/工程名/XXXX

DAO是:数据访问对象

PO是:Persistent Object  一个持久层类对应一张表,一个po类属性对应一张表中的字段。

数据的校验:客户端校验是可选的,如果做了,属于锦上添花,服务器端校验是必须的。


JSP指令:
是给JSP引擎看的

include:<%@ include file="xxx.jsp"%>

可以把xxx.jsp里的代码原原本本地导入到当前页面中。可以查看该jsp对应的.java源码得到如上结论。这种导入也叫做静态导入。


如果JSP中出现乱码:

检查:<meta charset="">,<%@ pagepageEcoding=""%>是否一致;不一致则会出现乱码;

isErrorPage="true"此时才可以用exception对象(JSP的九大内置对象之一)

errorPage="xxx.jsp",当该页面发生错误时,会跳转到xxx.jsp

 

<%@ include file="xxx.html/xxx.jsp" %>静态导入另一个文件中的代码(HTML片段)

相当于复制xxx.html/xxx.jsp里面通常是一个HTML片段,而不是一个完整的HTML页面。

 

<jsp:include page="error.jsp">

<jsp:param value="2" name="abc"/>

</jsp:include>

动态引入:不是把代码原原本本地复制过来,而是调用了一个include()方法

jsp中通常使用jsp注释:

<%--

这里不仅可以写Java代码,还可以写html代码

--%>

 

JSP中有9个可以直接使用的对象(JSP的九大内置对象)

page:

就是当前jsp翻译后的java类的对象

Object page = this;

***pageContext

所属的类就是:PageContext

findAttribute()

getAttribute("", 1/2/3/4)

setAttribute(name, obj)

getAttribute()

***request

所属的类:HttpServletRequest

getRequestDiepatcher("").forward(request,response);

getRequestURI()

getRequestURL()

getContextPath()//获取工程名

***session

所属的类:HttpSession

getId()

setMaxActiveInterval()//单位分钟

getMaxActiveInterval()//获取存活时间

 

***application

所属的类:ServletContext

getRealPath("/upload")//获取upload文件夹在服务器上的绝对路径

 

exception

Exception

out

JspWriter

print()

write()

response

HttpServletResponse

getWriter();

getOutputStream();

config

ServletConfig

config.getInitParameter(name);

 

引入c标签库:

<%@taglib uri="http://java.sun.com/jsp/jstl/core"prefix="c"%>

 

使用c标签:

if () {

 

}

<c:iftest="${user == null}">

 

</c:if>

 

 

if(){

 

}elseif(){

 

}else{

 

}

<c:choose>

<c:when test="${user == null}">

 

</c:when>

<c:when test="${1 == 2}">

 

</c:when>

<c:otherwise>

 

</c:otherwise>

</c:choose>



临时cookie:不指定存活时间,浏览器已关闭就消失

永久cookie:指定存活时间(不限)

 

如何给浏览器写cookie

1.创建cookie

Cookie c1 = new Cookie("username","zhangsan");

2.设置cookie

比如设置时间c1.setMaxAge(time);单位是秒

3.通过response

response.addCookie(c1);

 

如何删掉浏览器上的cookie

设置一个跟要删掉的cookie同名的一个cookie,设置时间为0秒,即可删掉。


0 0
原创粉丝点击