标签:
01:用JSP向浏览器输出
新建项目Dynamic Web Project【动态网站项目】
WebComtent中建立文件夹01,内中建立JSP File
JSP声明语句:<%!声明语句%>,通常声明全局变量、常量、方法、类
JSP Scriptlet:<%java代码%>,其中可包含局部变量、java语句
JSP表达式:<%=java 代码%>
显示注释:即HTML注释,可以在客户端显示<!–注释部分-->
隐式注释:即JSP注释,不能在客户端显示<%--注释部分--%>
<!--当前时间: <%= new java.util.Date().toString() %> -->
页面查看源文件:<!--当前时间: Fri Dec 25 10:29:34 CST 2015 -->
JSP编译指令:page指令
建立JSP文件get_error.jsp, Hadle_error.jsp
get_error.jsp代码:
1 <%@UTF-8之后,errorPage="handle_error.jsp"%> 2 <body> 3 int a =10; 4 int b = 0; 5 int c =a/b; 6 </body>
handle_error.jsp代码:
1 <%@ UTF-8之后,isErrorPage="true"%> 2 <body> 3 程序发生了异常。 4 </body>
include指令:在JSP中包含一个静态的文件,同时解析这个文件中的JSP语句。
创建inclube.jsp ,header.html,footer.jsp三个文件
inclube.jsp代码:
1 <body> 2 <%@ include file="header.html"%> 3 <br /> 4 <%@ include file="footer.jsp"%> 5 </body> 6 header.html代码: 7 <div>this is header.</div> 8 footer.jsp代码 9 <div>this is footer.</div>
页面输出结果:
将inclube.jsp中的<%@ inclube file=”header.html” %>
更改为<%@ inclube file=”header.txt” %>
并且将header.html文件的后缀名改为txt
内中this is header.(txt)
刷新浏览器,可见页面输出已变为this is header.(txt)
在footer.jsp中添加一行代码:
<%! Int a = 10; %> 则无法在inclube.jsp中再次声明a
JSP动作指令 forward
文件夹05 创建文件index.jsp,login.jsp
当index.jsp中引入login.jsp文件,则输出引入的文件。
index.jsp完整代码:
1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <jsp:forward page="login.jsp"> 4 <jsp:param value="buddha" name="userName" /> 5 <jsp:param value="8888" name="password"/> 6 </jsp:forward> 7 login.jsp代码: 8 <body> 9 <% 10 String userName = request.getParameter("userName"); 11 String password = request.getParameter("password"); 12 out.println(userName); 13 out.println("<br/>"); 14 out.println(password); 15 %> 16 </body>
则index.jsp页面输出结果为:buddha 8888
JSP动作指令 include
创建文件夹06,新建index.jsp,header.html,body.jsp文件
将index.jsp中的<head>内容……</head>放入header.html中,
将index.jsp中的<body>内容……</body>放入body.jsp中
在index.jsp中引入header.html和body.jsp文件。
则页面输出为全屏黑色背景。
index.jsp完整代码:
1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 4 <html> 5 <jsp:include page="header.html"></jsp:include> 6 <jsp:include page="body.jsp"> 7 <jsp:param value="black" name="bgcolor"/> 8 </jsp:include> 9 </html>
header.html完整代码:
1 <head> 2 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 3 <title>index</title> 4 </head>
body.jsp完整代码:
1 <body bgcolor="<%=request.getParameter("bgcolor") %>"> 2 </body>
JSP动作指令:useBean指令
Java Resources-src中创建class文件
package中输入com.lyyp.entity
name中输入UserEntity
interfaces-Add搜索Serializable -java.io
在UserEntity.java的class中声明私有字符串变量名。
右键Source-Generate Constructor using Fields【自动生成带参数的构造函数】,在弹窗中取消选中两个变量名,点击OK。
页面中会添加如下代码:
1 public UserEntity() { 2 super(); 3 }
右键Source-Generate Getters and Setters【自动生成Getter和Setter方法】,在弹窗中选中两个变量名,点击OK。
页面中添加如下代码:
1 public String getUserName() { 2 return userName; 3 } 4 public void setUserName(String userName) { 5 this.userName = userName; 6 } 7 public String getPassword() { 8 return password; 9 } 10 public void setPassword(String password) { 11 this.password = password; 12 }
创建07 新建register.jsp,do_register.jsp文件
浏览器输入/register.jsp,输入用户名和密码,点击提交,页面跳转到do_register.jsp,并且显示出输入的值
register.jsp作为录入注册信息 代码:
1 <body> 2 <form action="do_register.jsp" method="post"> 3 用户名:<input type="text" name="userName"/> 4 密 码:<input type="password" name="password" /> 5 <input type="submit" value="提交" /> 6 </form> 7 </body>
do_register.jsp作为注册信息处理 代码:
1 <body> 2 <% 3 String userName = request.getParameter("userName"); 4 String password = request.getParameter("password"); 5 out.println(userName); 6 out.println("<br/>"); 7 out.println(password); 8 %> 9 </body>
jSP内置对象
out对象request对象response对象exception对象config对象page对象session对象application对象pageContext对象
out对象详解
创建08 ,新建out.jsp
out.jsp代码: 注释部分为缓冲区有关???【不确定】
1 <body> 2 <% 3 out.println("输出到页面"); 4 out.print("输出到页面X2"); 5 out.newLine(); 6 out.println("<br/>"); 7 //out.flush(); 8 //out.clearBuffer(); 9 //out.clear(); 10 out.println("获取当前缓冲区大小:"+out.getBufferSize()); 11 out.println("<br/>"); 12 out.println("获取缓冲区剩余字节数目:"+out.getRemaining()); 13 %> 14 </body>
Request对象简介
Request.jsp代码:
1 <body> 2 <form action="" method="post"> 3 <input type="text" name="userName"/> 4 <input type="submit" value="提交"/> 5 </form> 6 请求方法名:<%= request.getMethod() %><br/> 7 请求的资源:<%= request.getRequestURI() %><br/> 8 请求使用的协议:<%= request.getProtocol() %><br/> 9 请求的服务器IP:<%= request.getServerName() %><br/> 10 请求的服务器端口:<%= request.getServerPort() %><br/> 11 客户端的IP地址:<%= request.getRemoteAddr() %><br/> 12 客户端的主机名:<%= request.getRemoteHost() %><br/> 13 表单提交来的值:<%= request.getParameter("userName") %><br/> 14 </body>
页面输出结果:
输入值,点击提交之后页面效果:
Request对象的使用
新建register.jsp,do_register.jsp,welcome.jsp文件
register.jsp代码: 录入表单信息
1 <body> 2 <form action="do_register.jsp" method="post"> 3 用户名:<input type="text" name="userName"/><br/> 4 技能:<input type="checkbox" name="skills" value="java"/>java 5 <input type="checkbox" name="skills" value="python"/>python 6 <input type="checkbox" name="skills" value="ruby"/>ruby 7 <input type="checkbox" name="skills" value="golang"/>golang 8 <br/> 9 <input type="submit" value="提交"/> 10 <input type="reset" value="重置"/> 11 </form> 12 </body>
do_register.jsp代码:
1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <% 4 String userName=request.getParameter("userName"); 5 String skills =""; 6 String[] skillArr =request.getParameterValues("skills"); 7 if(skillArr!=null && skillArr.length>0){ 8 for(String skill:skillArr){ 9 skills=skills+skill+""; 10 } 11 } 12 13 request.setAttribute("userName", userName); 14 request.setAttribute("skills", skills); 15 %> 16 <jsp:forward page="welcome.jsp"></jsp:forward>
welcome.jsp代码: 信息展示页
<body> 信息展示页面:<br/><br/> 用户名:<%= request.getAttribute("userName") %><br/> 技能:<%= request.getAttribute("skills") %> </body>
页面效果:
提交后的页面效果:
response对象详解
Response01.jsp代码:
1 <body> 2 <% 3 response.setHeader("Cache-Control", "no-cache"); 4 response.setIntHeader("Refresh", 2); 5 out.println("date is" + new java.util.Date().toString() + "<br/>"); 6 %> 7 </body>
页面效果:
Response02.jsp代码:
1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <% 4 response.sendRedirect("http://baidu.com");【跳去百度】 5 %>
Response03.jsp代码:
1 <body> 2 <% 3 Cookie myCookie =new Cookie("buddha","shakyamuni"); 4 myCookie.setMaxAge(3600); 5 response.addCookie(myCookie); 6 %> 7 </body>
Session对象使用实例
新建login.jsp, do_login.jsp, welcome.jsp, logout.jsp文件
login.jsp代码:【登录表单】
1 <body> 2 <form action="do_login.jsp" method="post"> 3 userName:<input type="text" name="userName" /> 4 password:<input 5 type="password" name="password" /> 6 <input type="submit" 7 value="submit" /> 8 <input type="reset" value="reset" /> 9 </form> 10 </body>
do_login.jsp代码:
1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <% 4 String userName = request.getParameter("userName"); 5 String password = request.getParameter("password"); 6 if(userName !=null && password !=null){ 7 session.setAttribute("userName", userName); 8 response.setHeader("refresh", "2;URL=welcome.jsp"); 9 } 10 %>
welcome.jsp代码:
<body> <% if(session.getAttribute("userName")!= null){ %> 欢迎:<%=session.getAttribute("userName") %> <a href="logout.jsp">注销</a> <br/> <%} else{ %> 请先登录 <a href="login.jsp">登录</a> <%} %> <% if(session.isNew()){ %> <br/> 欢迎新用户! <%} else { %> 欢迎老用户! <%} %> </body>
logout.jsp代码:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <% session.invalidate(); response.setHeader("refresh", "2;URL=welcome.jsp"); %>
页面效果图:
点击 submit
点击 注销
标签:
原文地址:http://www.cnblogs.com/shakyamuni/p/5116804.html