JavaScript,DOM,JSP(out,request,response)--11,12

来源:互联网 发布:品类经营数据 编辑:程序博客网 时间:2024/06/06 21:40

JavaScript,DOM--11

1.JavaScript常用互动方式:

1.1var mychar="JavaScript";//变量document.write(mystr+"<br>")//输出alert(mychar);//警告--弹出提示框var mymessage=confirm("你是女士吗?");//弹出确定框--确定和取消prompt("请输入数学考试分数:","00~100");//弹出输入框,(显示值和默认值)window.open('http://www.imooc.com','_blank','width=100px,height=400px,top=500,left=0');//新开窗口中打开网页,可加参数如下:


  <script type="text/javascript">      function openWindow(){    // 新窗口打开时弹出确认框,是否打开    confirm("确定要打开新窗口吗?");    // 通过输入对话框,确定打开的网址,提示信息: http://www.imooc.com/    var wed=prompt("请输入要打开的网址:","http://www.imooc.com/");    //打开的窗口要求,宽400像素,高500像素,无菜单栏、无工具栏。    window.open(wed,'_blank','width=400px,height=500px,top=500,left=0,toolbar=0');    document.write(wed);    }      </script> 

2.DOM(Document Object Model):

文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法。DOM 将HTML文档呈现为带有元素、属性和文本的树结构(节点树)。

<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>innerHTML</title></head><body><h2 id="con">javascript</H2><p> JavaScript是一种基于对象、事件驱动的简单脚本语言,嵌入在HTML文档中,由浏览器负责解释和执行,在网页上产生动态的显示效果并实现与用户交互功能。</p><script type="text/javascript">  var mychar= document.getElementById("con") ;  document.write("原标题:"+mychar.innerHTML+"<br>"); //输出原h2标签内容  mychar.innerHTML="Hello world!"  document.write("修改后的标题:"+mychar.innerHTML); //输出修改后h2标签内容      mychar.style.backgroundColor="#ccc";    mychar.style.width="300px";</script></body></html>

<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" Content="text/html; charset=utf-8" /><title>javascript</title><style type="text/css">body{font-size:12px;}#txt{    height:400px;    width:600px;border:#333 solid 1px;padding:5px;}p{line-height:18px;text-indent:2em;}</style></head><body>  <h2 id="con">JavaScript课程</H2>  <div id="txt">      <h5>JavaScript为网页添加动态效果并实现与用户交互的功能。</h5>        <p>1. JavaScript入门篇,让不懂JS的你,快速了解JS。</p>        <p>2. JavaScript进阶篇,让你掌握JS的基础语法、函数、数组、事件、内置对象、BOM浏览器、DOM操作。</p>        <p>3. 学完以上两门基础课后,在深入学习JavaScript的变量作用域、事件、对象、运动、cookie、正则表达式、ajax等课程。</p>  </div>  <form>  <!--当点击相应按钮,执行相应操作,为按钮添加相应事件-->    <input type="button" value="改变颜色" onclick="exColor()">      <input type="button" value="改变宽高" onclick="exwh()">    <input type="button" value="隐藏内容" onclick="hide()">    <input type="button" value="显示内容" onclick="show()">    <input type="button" value="取消设置" onclick="clearN()">  </form>  <script type="text/javascript">//定义"改变颜色"的函数function exColor(){    var se=document.getElementById("txt");    se.style.color = "red";    se.style.backgroundColor = "blue";}//定义"改变宽高"的函数function exwh(){    var wwh=document.getElementById("txt");    wwh.style.width = "85%";    wwh.style.height = "250px";}//定义"隐藏内容"的函数function hide(){    var se=document.getElementById("txt");    se.style.display = "none";}//定义"显示内容"的函数function show(){    var se=document.getElementById("txt");    se.style.display = "block";}//定义"取消设置"的函数function clearN(){     var se=document.getElementById("txt");    if(confirm("确定要取消设置?")){    se.removeAttribute('style');    }}  </script></body></html>

3.JSP(Java Server Pages):

一.jsp基础语法
1、page指令:通常位置jsp页面顶端,同一个页面可以有多个(1)语法格式:<%@ page 属性1="属性值" 属性2="属性值1,属性值2"...属性n="属性n"(键值对)%>(2)常用属性· language 指定JSP页面使用的脚本语言 默认值为java· import 通过该属性来引用脚本语言中使用的类文件 默认值为无· contentType 用来指定JSP页面所采用的编码方式 默认值为text/html,ISO-885901如:<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>2、include指令:将外部文件嵌入当前文件,同时解析这个页面的JSP语句,是包含指令3、taglib指令:使用标签库定义新的自定义标签,在JSP页面中启用制定行为
4:JSP声明:在JSP页面中定义变量或者方法,可以被JSP表达式或者JSP脚本调用
语法:<%!Java声明%>如:<%! String s="张三";%>
5:JSP脚本 : 在JSP页面中执行的Java代码
语法:<%  Java代码  %>//要以分号结束,和普通的java代码编写一样
6:JSP表达式:指的是在JSP页面中执行的表达式语法:<%=  表达式 %> //注意:表达式不以分号结束,表达式可以用有返回值的函数或者变量表示JSP脚本是执行java代码语句,不返回值,而JSP表达式返回的是一个值,而且必须先声明函数或变量
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%@ page import="java.text.*" %><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>My JSP 'index.jsp' starting page</title></head><body><%!//這種寫法只能返回不能使用輸出函數String printMulititable1(){String s="";for(int i=1;i<=9;i++){ for(int j=1;j<=i;j++){s+=i+"*"+j+"="+(i*j)+"    ";}s+="<br>";}return s;}//使用腳本方式答應調用void printMulititable2(JspWriter out)throws Exception{String s="";for(int i=1;i<=9;i++){ for(int j=1;j<=i;j++){out.print(i+"*"+j+"="+(i*j)+"    ");}out.print("<br>");}}%><h1>九九乘法表1</h1><br><%=printMulititable1()%><br><h1>九九乘法表2</h1><%printMulititable2(out); %></body></html>

二:JSP内置对象

1、JSP内置对象是Web容器创建的一组对象,【不使用new关键字】就可以使用的内置对象。例如:out2、JSP九大内置对象:out,request,response,session,application(五大常用对象)Page,pageContext,exception.config(四个不太常用对象)
============================================================================================
out对象: JspWriter类实例。1、void printLn() 向客户端打印字符串;2、void clear() 清除缓冲区内容,如果在flush之后调用会抛出异常。3、void clearBuffer() 清除缓冲区内容,如果在flush之后调用不会抛出异常。4、void flush() 将缓冲区内容输出到客户端。5、int getBufferSize() 返回缓冲区以字节数大小,如不设缓冲区则为0.6、int getRemaining() 返回缓冲区还剩余多少可用7、boolean is AutoFlush() 返回缓冲区满时,是自动清空还是抛出异常8、void close() 关闭输出流。
============================================================================================
request对象客户端的请求被封装在request对象中,通过他才能了解客户端的需求,然后做出相应;是HttpServlrtRequest类的实例。request完成客客户端的请求之前,该对象一直有效String getParameter(String name)返回name指定参数的参数值;String[]getParameterValues(返回包含参数name的所有值的数组);void setAttribute(String name)储存此请求指定属性的属性值;void getAttribute(String name)返回指定属性的属性值;String getContentType()得到请求体的MIMe类型;String getProtocol()返回请求用的协议类型及版本号;getServerName()返回接受请求的服务器主机名;
<%request.setAttribute("pwd","123456"); %>  获取密码:<%=request.getAttribute("pwd") %><br>  请求体的MIME类型:<%=request.getContentType() %><br>  协议类型及版本号:<%=request.getProtocol() %><br>  服务器主机名:<%=request.getServerName() %><br>  服务器端口号:<%=request.getServerPort() %><br>  请求文件的长度:<%=request.getContentLength() %><br>  请求客户端的IP地址:<%=request.getRemoteAddr() %><br><!--//只能获取静态的IP地址,动态的话获取不到-->  请求的真实路径:<%=request.getRealPath("request.jsp") %><br>  请求的上下文路径:<%=request.getContextPath() %><br>
============================================================================================
Jsp内置对象response:HttpServletResponse类的实例,response对象具有页面作用域,即访问一个页面时,该页面的response对象只对本次访问有效,其他页面的response对象对当前页面无效。String getCharacterEncoding()返回响应的是何种字符编码;void setContentType(String type)设置响应的MIME类型;PrintWriter getwriter()返回可以向客户端输出一个对象;sendRedirrect(java.lang.String.location)重定义客户端的请求;
response.setContentType("text/html;charset=utf-8")====设置响应的MIMI类型PrintWriter比out对象先打印。调用out.flush()可以解决=====通过response的getWriter()方法创建的输出流对象outer总是将要输出内容显示在页面的最开始(先于内置的out对象的输出)如果不想这样,可以使用out.flush();response.sendRedirect(String addr) 请求重定向
一、请求重定向:【客户端行为】,服务端response.sendRedirect("xx.jsp"),【从本质上讲等于两次请求】,前一次的请求对象不会保存,地址栏的URL地址会改变。二、请求转发:【服务器行为】,服务端request.getRequestDispatcher("xx.jsp").forward(request,response);【从本质是一次请求】,转发后请求对象会保存,地址栏的URL地址不会改变

============================================================================================










0 0
原创粉丝点击