文章目录
1.注释
1.HTML注释
<!--在HTML可以看到-->
2.代码注释
<%
//1.Java单行注释
/*
2.Java的多行注释
*/
/**
3.javaDoc注释,用于成员注释
*/
%>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@page import="java.util.Date"%>
<!--这里是导入包-->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>在此处插入标题</title>
</head>
<body>
<!-- 1.这个是html的注释,可以通过右击实现 -->
<%-- 2.jsp的注释,不发送到客户端 --%>
<%
//3.这个在这里可以用于java的单行注释
/*
4.这里是多行注释,同样客户机也看不到
*/
%>
<!-- 5.jsp的申明变量-->
<%
/* <%![申明1];[申明2]··· % >中间一定要用分号隔开
*/
%>
<%! int i=6; %>>
<%! int a,b,c;double d=6.0d; %>
<%! Date e=new Date(); %>
<!--6.jsp的表达式-->
<%
//<%=表达式 % >这里就1.不分用;作为表达式的结束,2.中间不能用空格,3.只能写一个表达式
%>
</body>
</html>
3.JSP注释
<%--注释文本--%>
4.动态注释
就是这个注释会随里面的内容改变而改变
<!-- <%= 变量值%>-->
2.动作标识
1.包含文件标识jsp:include
2.请求转发标识jsp:forward
3.传递参数标识jsp:param
<jsp:param name=“参数名” value=“参数值”>
3. 内置对象(9个)
1.request对象
(获取请求参数)一次请求
语法:String request.getParameter(String parameter);
eg:String id =request.getParameter(“id”);
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>request的请求页面</title>
</head>
<body>
ID的参数为<%=request.getParameter("id") %>
name的参数为<%=request.getParameter("name") %>
</body>
</html>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>关于内置对象的学习</title>
</head>
<body>
<a href="request_01_1.jsp?id=520">获取ID</a>
</body>
</html>
(获取表单信息)
语法:String [] request.getParameterValues(String parameter);
提交页面
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>request关于接受表单的学习-定义表单</title>
</head>
<body>
<form action="request_02_1.jsp" method="post">
请输入用于的姓名:
<input type="text" name="name" /> <br/>
请选择性别:
<input type="radio" value="男" name="sex" />男
<input type="radio" value="女" name="sex" />女<br/>
请选择密码提示问题:
<select name="question">
<option value="母亲的生日">母亲的生日</option>
<option value="父亲的生日">父亲的生日</option>
</select><br/>
请输入问题的答案:<input type="text" name="key" /><br/>
请选择问题的答案:
<input type="checkbox" value="唱歌跳舞" name="like"/> 唱歌跳舞
<input type="checkbox" value="户外登山" name="like"/>户外登山
<input type="checkbox" value="网上冲浪" name="like"/>网上冲浪<br/>
<input type="submit" value="提交"/>
</form>
</body>
</html>
提交的后的页面
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>表单时request</title>
</head>
<body>
姓名:<%=new String(request.getParameter("name").getBytes("ISO8859_1"),"UTF-8") %><br/>
性别:<%=new String(request.getParameter("sex").getBytes("ISO8859_1"),"UTF-8") %><br/>
密码提示问题:<%=new String(request.getParameter("question").getBytes("ISO8859_1"),"UTF-8") %><br/>
密码:<%=new String(request.getParameter("key").getBytes("ISO8859_1"),"UTF-8") %><br/>
个人爱好:
<%
String[] like = request.getParameterValues("like");
for (int i = 0; i < like.length;i++) {
%>
<%=new String(like[i].getBytes("ISO8859_1"),"UTF-8") %>
<%
}
%>
</body>
</html>
(获取客户端的信息)
处理乱码
new String(request.getParameter("name").getBytes("ISO8859_1"),"UTF-8")
request.setAttribute(“属性”,“属性值”)
request.getAttribute(“属性”)//默认是null
在作用域中管理属性
语法
Object request.setAttribute(String name ,Object value)
request.settribute("date" ,new Date(); //添加一-个属性
示例
<ul style="line-height: 24px;">
<li>获取date属性: <%=request. getAttribute("date")%></i>
</ul>
cookie管理
COOKIE是小段的文本信息,通过使用COOKIE可以标识用户身份
记录用户名及密码、跟踪重复用户。COOKIE在服务器端生成并发送给浏览器,浏览器将COOKIE的KEY/NALUE保存到某个指定的目录中,服务器的名称与值可以由服务器端定义。
通过cookie的getCookies()方法可以获取到所有的cookie对象集合;
然后通过cookie对象的
getName()方法获取到指定名称的cookie,
再通过
getValue()方法即可获取到cookie对象的值。
另外,将一个cookie对象发送到客户端使用了response对象的addCookie()方法。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Cookie的学习</title>
</head>
<body>
<%
String welcome = "第一次访问";
String[] info = new String[] { "", "", "" };
Cookie[] cook = request.getCookies();
if (cook != null) {
for (int i = 0; i < cook.length; i++) {
if (cook[i].getName().endsWith("yhc")) {
info = cook[i].getValue().split("#");
welcome = ",欢迎回来!";
}
}
}
%>
<%=info[0] + welcome%>
<form action="request_03_1.jsp" method="post">
姓名:<input type="text" name="name" value="<%=info[0]%>" /><br />
出生日期:<input type="text" name="birthday" value="<%=info[1]%>" /><br />
邮件地址:<input type="text" name="mail" value="<%=info[2]%>" /><br /> <input
type="submit" value="提交" />
</form>
</body>
</html>
下面是将数据添加到Cookie
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Cook的提交页面</title>
</head>
<body>
<%
String name=request.getParameter("name");
String birthday=request.getParameter("birthday");
String mail=request.getParameter("mail");
Cookie myCook=new Cookie("yhc",name+"#"+birthday+"#"+mail);
mycook.setMaxAge(60*60*24*365);//设置有效期
response.addCookie(myCook);
%>
<ul>
<li>姓名:<%=name %></li>
<li>出生日期:<%=birthday %></li>
<li>项目地址:<%=mail %></li>
<li><a href="request_03.jsp">返回</a></li>
</ul>
</body>
</html>
2.response对象(客户端)
1.sendRedirect()方法
对客户端发出请求的一个响应
重定向是通过使用sendRedirect()方法,将响应发送到另一个指定的位置进行处理
语法:response.sendRedirect(“url”);
2.setHeader(“refresh”,“时间秒;URL=welcome.jsp”);方法
eg:setHeader(“refresh”,“2;URL=welcome.jsp”)
3.session对象(服务端)(可以在不同网址下读取)
1.setAttribute(“属性名”,“属性值”)方法:存
2.getAttribute(“属性名”)方法:取
session对象
session是与请求有关的会话对象,是java.servlet.http.HttpSession对象,用于保存和存储页面的请求信息。
session对象的**setAttribute()方法可实现将信息保存在session范围内,而通过getAttribute()**方法可以获取保存在session范围内的信息。
存:
String sessionMessage = “session练习”;
session.setAttribute("message’ ,sessionMessage);
取:
String message = (String)session.getAttribute(“message”);
out.print("保存在session范围内的值为: "+message);
3.removeAttribute(String key);//移除指定的绑定对象
4.session.invalidate();销毁session
4.application对象(保存在服务器里面直到服务器关闭)
application对象可将信息保存在服务器中,直到服务器关闭,
否则application对象中保存的信息会在整个应用中都有效。与
**session对象相比,application对 象的生命周期更长,**类似于系
统的“全局变量”
application对象访问应用程序初始化参数的方法分别介绍如下:
getInitParameter(String name):返回一个已命名的参数值。
getAttributeNames():返回所有已定义的应用程序初始化名称的枚举。
5.out对象
1.向客户端输出数据和表达式<%= %>效果一样
out.printf();
out.println();
2.管理响应的缓冲