jsp学习.docx

上传人:b****9 文档编号:25394765 上传时间:2023-06-08 格式:DOCX 页数:17 大小:288.41KB
下载 相关 举报
jsp学习.docx_第1页
第1页 / 共17页
jsp学习.docx_第2页
第2页 / 共17页
jsp学习.docx_第3页
第3页 / 共17页
jsp学习.docx_第4页
第4页 / 共17页
jsp学习.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

jsp学习.docx

《jsp学习.docx》由会员分享,可在线阅读,更多相关《jsp学习.docx(17页珍藏版)》请在冰豆网上搜索。

jsp学习.docx

jsp学习

目录:

Web

——index.html

——WEB-INF

——classes(java)

——lib(jar)

web.xml

Http协议:

http/1.0

http/1.1

请求行:

GET方式;POST方式;

请求头:

Accept:

用户告诉服务器,客户机支持的数据格式。

Aceept-Charset:

用于告诉服务器,客户机采用的编码。

Accept-Encoding:

用户告诉服务器,客户机支持的数据压缩格式。

Accept-Language:

客户机的语言环境;

Host:

客户机通过这个头告诉服务器,想访问的主机名。

If-Modified-Since:

客户机通过这个头告诉服务器,资源的缓存时间。

Referer:

客户机通过这个头告诉服务器,它是从哪个资源访问服务器的。

(从那个页面过来的)防止盗链(不是从这个网站过来的,跳到首页)

User-Agent:

客户机通过这个头告诉服务器,客户机的软件环境。

Cookie:

客户机通过这个头向服务器带一点数据。

Connection:

Date

http响应:

响应头:

Location:

这个头配合302使用,找谁。

302+Location请求重定向。

Server:

服务器通过这个头,告诉浏览器服务器的类型。

Content-Encoding:

服务器通过这个头,数据的压缩格式。

Content-Length:

服务器通过该头,告诉浏览器回送数据的长度。

Content-Type:

服务器通过该头,告诉浏览器回送数据的类型。

Last-Modified:

服务器通过这个头,告诉浏览器当前资源缓存时间。

Refresh:

服务通过这个头,告诉浏览器多长时间刷新下。

(聊天室,论坛登录)

Content-Desposition:

服务器通过这个头,告诉浏览器以下载方式打开数据。

Transfer-Encoding:

服务器通过这个头,告诉浏览器数据的传递格式。

ETag:

缓存相关的头

Expires:

服务器通过这个头,告诉浏览器把回送的资源缓存多长时间,-1或0,则是不缓存。

Cache-Control:

no-cache

Pragma:

no-cache

服务器通过以上两个头,也是控制浏览器不要缓存数据。

断点下载

Range

请求数据

伪静态:

映射

MVC

Mode——javabean

View——jsp

Controller——servlet

Request.sendredirect(“/form.html”).forward(request,reponse);//服务器用;

Response.sendredirect(“/test/form.html”);//浏览器用;

this.getservletcontext().getrealpath(“/form.html”);

this.getservletcontext().getresourceasstream(“/form.html”);

浏览器

Response

PrintWriterout=response.getWriter();

out.write("helloworld");

response.getWriter().write("helloworld");

控制输出乱码:

response.setCharacterEncoding("UTF-8");

response.setContentType("text/html;charset=UTF-8");

重定向:

response.sendRedirect("/test/index.jsp");

刷新

response.setCharacterEncoding("UTF-8");

response.setContentType("text/html;charset=UTF-8");

response.setHeader("refresh","3;url=/test/index.jsp");

response.getWriter().write("恭喜你登陆成功,本浏览器将在3秒后跳转,如果没跳转,请点击超链接");

控制浏览器缓存

response.setCharacterEncoding("UTF-8");

response.setContentType("text/html;charset=UTF-8");

//控制浏览器缓存;

response.setDateHeader("Expires",System.currentTimeMillis()+1000*3600);

Stringdata="中国";

response.getWriter().write(data);

Request

获取参数:

//get方式乱码(手工处理,超链接);

Stringname_value=request.getParameter("username");

name_value=newString(name_value.getBytes("iso8859-1"),"UTF-8");

//中文乱码;

request.setCharacterEncoding("UTF-8");//只对post有效;

System.out.println(request.getParameter("username"));

System.out.println(request.getParameter("pass"));

System.out.println(request.getParameter("gender"));

System.out.println(request.getParameter("city"));

Stringlikes[]=request.getParameterValues("likes");

for(inti=0;i

System.out.println(likes[i]);

}

System.out.println(request.getParameter("description"));

System.out.println(request.getParameter("id"));

 

转发

Stringdata="aaa";

request.setAttribute("data",data);

//转发;

request.getRequestDispatcher("/message.jsp").forward(request,response);

防盗链:

Stringreferer=request.getHeader("referer");

if(referer==null||!

referer.startsWith("http:

//localhost"))

{

//action

response.sendRedirect("");

return;

}

Cookie

//设置Cookie;

Cookiecookie=newCookie("lastAccessTime",System.currentTimeMillis()+"");

cookie.setMaxAge(1*30*24*3600);

cookie.setPath("/eclipse");

response.addCookie(cookie);

//获取Cookie

Cookiecookies[]=request.getCookies();

for(inti=0;cookies!

=null&&i

if(cookies[i].getName().equals("lastAccessTime")){

Longcookievalue=Long.parseLong(cookies[i].getValue());

Datedate=newDate(cookievalue);

response.getWriter().write(date.toLocaleString());

}

}

 

//清除cookie

Cookiecookie=newCookie("lastAccessTime",System.currentTimeMillis()+"");

cookie.setMaxAge(0);

cookie.setPath("/eclipse");

response.addCookie(cookie);

response.sendRedirect("/test/");

Session

//设置session

HttpSessionsession=request.getSession();

session.setAttribute("name","洗衣机");

//获取Session

HttpSessionsession=request.getSession();

Stringproduct=(String)session.getAttribute("name");

//销毁Session

session.invalidate();

session.removeAttribute("name");

//表单重复提交

js(君子,小人)

variscommitted=false;

functiondosubmit()

{

If(!

iscommitted)

{

Iscommitted=true;

Returetrue;

}

else{returnfalse;}

}

设置按钮不可用;

后台;

 

JSP

访问jsp其实是调用servlet

Request

Response

Session

Application

<%@includefile="/public/head.jsp"%>先包含再翻译,把所有jsp翻译成一个servlet

<%

request.getRequestDispatcher("/public/foot.jsp").include(request,response);

%>动态包含,先翻译再包含

 

Page指令

 

include指令

静态包含(静态页面)

<%@includefile="/public/head.jsp"%>//形成一个文件再编译;

 

Jsp动作元素

include>

动态包含

includepage="/public/head.jsp">

include>

param>

includepage="/public/head.jsp">

paramvalue="tomcat"name="name"/>

include>

head.jsp

<%

out.println("helloworlds
");

Stringname=request.getParameter("name");

out.println(name);

%>

forward>

forwardpage="forward.jsp">

forward>

 

useBean>

useBeanid="person"class="com.vince.bean.Person">

useBean>

<%--设置对象的属性值--%>

setPropertyproperty="name"name="person"value="小白"/>

setPropertyproperty="age"name="person"value="18"/>

<%--获取对象的属性值--%>

getPropertyproperty="name"name="person"/>

getPropertyproperty="age"name="person"/>

 

内置对象

out.println();

out.print();

out.write();

 

request

request.getParamater(key);

request.getParameterValues(key);//获取一组数据;

request.getRequestDispatcher(“list.jsp”).forward(request,response);

request.setAttribute(key,value);

request.getAttribute(key);

request.setChracterEncoding(“UTF-8”);//只能设置post;

String[]likes=request.getParameterValues(key);//获取一组数据;

request.setAttribute(key,value);//转发的时候带一些数据过去;

request.getAttribute(key);//获取;

request.getContextPath();//获取根路径;

 

response

response.sendRedirect(“页面”);

response.setCharacterEncoding(“UTF-8”);

response.setCharacterEncoding(“UTF-8”);//设置响应编码;

response.setContentType(“text/html;charset=UTF-8”);//设置内容类型;

 

session

session.setAttribute(“name”,username);//将用户名保存到当前会话对象中;

session.getAttribute(“name”);//获取session;

session.setMaxInactiveInterval(1000*60*30);//30分钟;

session.invalidate();//设置session初始化;(系统退出)

 

pageContext

上下文对象;

 

application

公共的;

application.setAttribute("count",num);

application.getAttribute("count");

 

config

page

exception

表单传值

get:

显示请求方式,速度快,安全性低,请求数据不能超过4KB;

post:

隐式请求方式;

request.setChracterEncoding(“UTF-8”);

get方式:

方式一:

Stringname=newString(name.getBytes("iso-8859-1"),"UTF-8");//后台;

方式二:

functionlogin()

{

varloginform=documnet.forms["loginform"];

loginform.name.value=encodeURI(login.form.name.value);

loginform.submit();

}//onsubmit函数;

Stringname=URLDecoder.decode(name,"UTF-8");//后台获取;

隐藏域

 

Cookie

//设置Cookie

CookienameCookie=newCookie("username",name);

nameCookie.setMaxAge(60*60*24*3);//三天;

CookiepwdCookie=newCookie("password",pwd);

pwdCookie.setMaxAge(60*60*24*3);

response.addCookie(nameCookie);

response.addCookie(pwdCookie);

//获取Cookie

Cookie[]cookies=request.getCookies();

for(inti=0;i

{

if("username".equals(cookies[i].getName()))

{

username=cookies[i].getValue();

}

if("password".equals(cookies[i].getName()))

{

password=cookies[i].getValue();

}

}

 

EL表达式

${sessionScope.user}

${sessionScope.userbean.sex}

${sessionScope.userbean[“sex”]}

EL隐含对象

pageContext

pageScope

requestScope

sessionScope

applicationScope

param

paramValues

header

headerValues

cookie

initParam

 

JSTL标签

核心标签库

out>//输出;

set>//定义变量;

if>//if

choose>//when

iftest="${notemptyrequestScope.name}">

欢迎你,

outvalue="${requestScope.name}">

out>

if>

iftest="${emptyrequestScope.name}">

登录

if>

setvar="age"value="18">

set>

choose>

whentest="${age<18}">

未成年

when>

whentest="${age>=18&&age<30}">

欢迎光临

when>

otherwise>

老年人注意身体

otherwise>

choose>

//遍历

forEachitems="${requestScope.users}"var="user">

${user.name}

${user.age}

forEach>

--

varStatus状态

index索引从0开始

count从1开始当前遍历次数

current当前正在迭代的

first是否第一个

last是否最后一个

-->

forEachbegin="0"varStatus="status"end="10"items="${requestScope.users}"var="user">

${user.name}

${user.age}

${status.index}

${status.count}

${status.current}

${status.first}

${status.last}

forEach>

setvar="likes"value="xiaoqiu,libai">

set>

//切分

forTokensitems="${likes}"delims=","var="val">

${val}

forTokens>

Servlet

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 图表模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1