javaweb学习--jsp
2018-09-18 06:34:49来源:博客园 阅读 ()
阅读电子书《Java Web从入门到精通》密码:461c,学习JavaWeb基础知识。由于本人已有html基础,所以直接略过前面部分,进入jsp学习
jsp页面添加库引用,引入项目文件
引用包<%@ page import="java.util.Date" %> 引用文件<%@ include file="top.jsp" %><%-- 不带编译功能,原页面是什么就是什么 --%> 引用文件<jsp:include page="top.jsp" /><%-- 子页面单独编译 --%>
页面示例
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@ page import="java.util.Date" %> <%@ page import="java.text.SimpleDateFormat" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Insert title here</title> </head> <body style="margin:0;"> <%@ include file="top.jsp" %><%-- 不带编译功能,原页面是什么就是什么 --%> <jsp:include page="top.jsp" /><%-- 子页面单独编译 --%> <center>哈哈</center> <% Date date = new Date(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String today = df.format(date); %> 当前时间:<%= today %> <br /><button onclick="location.href='process.jsp';">登录</button> <%@ include file="copyright.jsp" %> <jsp:include page="copyright.jsp" /> </body> </html>
application对象
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.util.*"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Application</title> </head> <body> <%=application.getInitParameter("url")%> <br /> <pre><%-- 显现println的换行效果 --%> <% Enumeration enema = application.getInitParameterNames(); //获取全部初始化参数 while (enema.hasMoreElements()) { String name = (String) enema.nextElement(); //获取参数名 String value = application.getInitParameter(name); out.println(value); } %> </pre> </body> </html>
request对象,jsp:forward标签
<body> <% try{ int money = 100; int number = 0; request.setAttribute("result", money/number); }catch(Exception e){ request.setAttribute("result", "错误"); } %> <jsp:forward page="attribute_deal.jsp" /> </body>
跳转后页面
<body> <% String message = request.getAttribute("result").toString(); %> <%= message %> </body>
config对象(实际开发中不常用)
<body> <% config.getServletContext(); //获取Servlet上下文 config.getServletName(); //获取Servlet服务器名 config.getInitParameter(); //获取服务器所有初始参数名称,返回值为java.util.Enumeration对象 config.getInitParameterNames(); //获取服务器中name参数的初始值 %> </body>
exception对象(实际不常用)
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" errorPage="exception_error.jsp"%><!-- 添加errorPage--> <body> <center>exception.getMessage(); 返回exception对象的异常信息字符串</center> <br /> <center>exception.getLocalizedmessage(); 返回本地化的异常错误</center> <br /> <center>exception.fillInStackTrace(); 重写异常错误的栈执行轨迹</center> <br /> <% request.setAttribute("price", "12.5 元"); float price = Float.parseFloat(request.getAttribute("price").toString()); %> </body>
错误提示页面
<body> 错误提示:<%=exception.getMessage() %> </body>
http使用
<% //禁用页面缓存 response.setHeader("Cache-Control", "no-store"); response.setDateHeader("Expires", 0); %> <% //response.setHeader("refresh", "10"); //10秒刷新一次 response.setHeader("refresh", "5;URL=login.jsp"); //5秒跳转到登录页 %>
简单登录验证
<body> <form id="loginForm" action="jsp_practice_validate.jsp"> 用户名:<br /> <input type="text" id="username" name="username" style="width: 120px;" /><br /> 密 码:<br /> <input type="password" id="pwd" name="pwd" style="" /><br /> <input type="submit" value="登录" /> </form> </body>
验证页面
<body> 登录信息验证中... <% String username = request.getParameter("username"); String pwd = request.getParameter("pwd"); if (username.equalsIgnoreCase("admin") && pwd.equals("123456")) { response.sendRedirect("jsp_practice_success.jsp?username=" + username); } else { response.sendRedirect("jsp_practice_error.jsp"); } %> </body>
验证成功
<body> <%= request.getParameter("username") %>登录成功! </body>
验证失败
<body> 用户名或密码错误.... <% response.setHeader("refresh", "30;URL=jsp_practice.jsp"); %> </body>
国际化操作
<body> <% java.util.Locale locale = request.getLocale(); String localeStr = locale.toString(); String str = ""; if (locale.equals(java.util.Locale.US)) { str = "Hello"; } if (locale.equals(java.util.Locale.CHINA)) { str = "你好"; } %> <%= str %> </body>
页面输出
<body> <pre><%-- 显现println的换行效果 --%> <% Enumeration enema = application.getInitParameterNames(); //获取全部初始化参数 while (enema.hasMoreElements()) { String name = (String) enema.nextElement(); //获取参数名 String value = application.getInitParameter(name); out.println(value); } out.clear(); //清除缓冲区中的内容 out.clearBuffer(); //清除当前缓冲区的内容 out.flush(); //刷新流 out.isAutoFlush(); //检测当前缓冲区已满时是自动清空,还是抛出异常 out.getBufferSize(); //获取缓冲区的大小 %> </pre> </body>
page对象(实际不常用)
<body> <%!Object object;%> <ul> <li>getClass()返回当前Object的类:<%= page.getClass() %></li> <li>hashCode()返回该Object的哈希代码:<%= page.hashCode() %></li> </ul> </body>
pageContext对象(实际不常用)
<body> <% pageContext.forward("login.jsp"); //把页面转发到另一个页面 pageContext.getAttribute("userName"); //获取参数值 pageContext.getAttributeNamesInScope(0); //获取某范围的参数名的集合,返回值为java.utilEnumeration对象 pageContext.getException(); //返回exception对象 pageContext.getRequest(); //返回request对象 pageContext.getResponse(); //返回response对象 pageContext.getSession(); //返回session对象 pageContext.getOut(); //返回out对象 pageContext.getApplication(); //返回application对象 //pageCoutext.setAttribute(""); //为指定范围内的属性设置属性值 //pageContext.removeAttribute(); //删除指定范围内的指定属性 %> </body>
request对象详细
<body> <br />客户端提交信息的方式:<%=request.getMethod() %> <br />使用的协议:<%=request.getProtocol() %> <br />获取发出请求字符串的客户端地址(URI):<%=request.getRequestURI() %> <br />获取发出请求字符串的客户端地址(URL):<%=request.getRequestURL() %> <br />获取提交数据的客户端IP地址:<%=request.getRemoteAddr() %> <br />获取服务器端口号:<%=request.getServerPort() %> <br />获取服务器名称:<%=request.getServerName() %> <br />获取客户端的主机名:<%=request.getRemoteHost() %> <br />获取客户端所有请求的脚本文件的文件路径:<%=request.getServletPath() %> <br />获得Http协议定义的文件头信息Host的值:<%=request.getHeader("host") %> <br />获得Http协议定义的文件头信息User-Agent的值:<%=request.getHeader("user-agent") %> <br />获得Http协议定义的文件头信息accept-language的值:<%=request.getHeader("accept-language") %> <br />获得请求文件的绝对路径:<%=request.getRealPath("index.jsp") %> </body>
session对象
<body> <% session.setAttribute("userName", "SessionTest"); String userName = session.getAttribute("userName").toString(); //session.getLastAccessedTime(); //返回客户端最后一次与会话相关的请求时间 //session.getMaxInactiveInterval(); //以秒为单位返回一个会话内两个请求最大时间间隔 //session.setMaxInactiveInterval(3600); //以秒为单位设置session的有效时间 session.removeAttribute("userName"); session.invalidate(); //手动销毁Session %> </body>
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 学习Java 8 Stream Api (4) - Stream 终端操作之 collect 2020-06-11
- java学习之第一天 2020-06-11
- Java学习之第二天 2020-06-11
- Spring WebFlux 学习笔记 - (一) 前传:学习Java 8 Stream Ap 2020-06-11
- Linux简单命令的学习 2020-06-10
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash