JSP-2

it2024-12-13  19

文章目录

1.注释1.HTML注释2.代码注释3.JSP注释4.动态注释 2.动作标识1.包含文件标识2.请求转发标识3.传递参数标识 3. 内置对象(9个)1.request对象(获取请求参数)一次请求(获取表单信息)(获取客户端的信息)处理乱码request.setAttribute("属性","属性值")request.getAttribute("属性")//默认是nullcookie管理 2.response对象(客户端)1.sendRedirect()方法2.setHeader("refresh","时间秒;URL=welcome.jsp");方法 3.session对象(服务端)(可以在不同网址下读取)1.setAttribute("属性名","属性值")方法:存2.getAttribute("属性名")方法:取3.removeAttribute(String key);//移除指定的绑定对象4.session.invalidate();销毁session 4.application对象(保存在服务器里面直到服务器关闭)5.out对象6.pageContext对象(获取会话范围的对象)7.config读取web.xml配置信息8.page(应答或者请求)9.exception(获取异常信息)

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.管理响应的缓冲

6.pageContext对象(获取会话范围的对象)

7.config读取web.xml配置信息

8.page(应答或者请求)

9.exception(获取异常信息)

最新回复(0)