JAVA WEB------JSP基础语法
JSP基础语法
脚本标识
- 九九乘法表------JSP嵌入JAVA代码片段(<%!声明脚本的语法)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>输出九九乘法表</title>
</head>
<body>
<%
long startTime=System.nanoTime();
for(int i=1;i<=9;i++){
for(int j=1;j<=i;j++){
String str=j+"x"+i+"="+(i*j);
out.println(str+" ");
}
out.println("<br>");
}
long endTime=System.nanoTime()-startTime;
%>生成九九乘法表用时<%out.println(endTime/1000); %>毫秒
</body>
</html>
page指令
- language属性 该属性用于设置JSP页面使用的语言
- extends属性 该属性用于设置JSP页面继承的JAVA类,所有JSP页面在执行之前都会被服务器解析成Selvet,而Selvet是由JAVA类定义的,所以JSP和Selvet都可以继承指定的父类
- import属性 该属性用于设置JSP导入的类包。JSP页面可以嵌入Java代码片段,这些java代码在调用API时需要导入相应的类包
- pageEccoding属性 该属性用于定义JSP页面的编码格式,可以指定文件编码。JSP页面的所有代码都使用该属性指定的字符集,如果该属性值为iso-8859-1,那么这个JSP页面就不支持中文字符
- contentType属性 该属性用于设置JSP页面的MIME类型和字符编码,浏览器会据此显示网页内容。
include指令(用于文件包含,被包含文件可以是一段Java代码。html代码或者是JSP页面)
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
当前日期是:
<%@include file="date.jsp" %>
</body>
</html>
date.jsp
<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
Date now = new Date();
String dateStr;
dateStr = String.format("%tY年%tm月%td日",now,now,now);
%>
<%=dateStr %>
传递参数标识
<jsp:param name="参数名" value="参数值"/>
JSP内置对象
- request对象 语法:String request.getParameter(String parameter)
*1 获取参数中的值
示例:String id=request.getParameter("id");
*2 获取form表单的信息
String[] request.getParameterValues(String parameter)
- cookie功能 自动填表单,用户自动登陆
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</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("mrCookInfo")){
info=cook[i].getValue().split("#");
welcome=",欢迎回来!";
}
}
}
%>
<%=info[0] +welcome%>
<form action ="show.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>
show.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</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("mrCookInfo")){
info=cook[i].getValue().split("#");
welcome=",欢迎回来!";
}
}
}
%>
<%=info[0] +welcome%>
<form action ="show.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="提交" />
<%String sessionMessage="session练习" ;
session.setAttribute("message",sessionMessage);
%>
</form>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%String name=request.getParameter("name");
String birthday=request.getParameter("birthday");
String mail=request.getParameter("mail");
Cookie myCook=new Cookie("mrCookInfo",name+"#"+birthday+"#"+mail);
response.addCookie(myCook);
%>
<ul>
<li>姓名:<%=name%>
<li>出生日期: <%=birthday%>
<li>邮箱地址: <%=mail%>
<li><a href="Index.jsp">返回</a>
</ul>
</body>
</html>
respense对象
- 重定向
if(name.equals("tom")){
response.sendRedirect("http://localhost:8080/MyWebTest/client.jsp");
} - 设置网页每5秒自动刷新一次
response.setHeader("refresh","5"); - 设置两秒钟后自动跳转到指定界面
response.setHeader("refresh","2;URL=welcome.jsp");
session对象 用于保存账户用户名
- 移除指定的绑定对象 removeAttribute(String key)
- 销毁session session.invalidate();
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</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("mrCookInfo")){
info=cook[i].getValue().split("#");
welcome=",欢迎回来!";
}
}
}
%>
<%=info[0] +welcome%>
<form action ="show.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="提交" />
<%String sessionMessage="session练习" ;
session.setAttribute("message",sessionMessage);
%>
</form>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%String name=request.getParameter("name");
String birthday=request.getParameter("birthday");
String mail=request.getParameter("mail");
Cookie myCook=new Cookie("mrCookInfo",name+"#"+birthday+"#"+mail);
response.addCookie(myCook);
%>
<ul>
<li>姓名:<%=name%>
<li>出生日期: <%=birthday%>
<li>邮箱地址: <%=mail%>
<li><a href="Index.jsp">返回</a>
</ul>
<%
String message=(String)session.getAttribute("message");
out.println("保存在session中的值为:"+message);
%>
</body>
</html>
application对象
-
Tomcat服务器的默认端口是什么?写出访问本机的Tomcat服务器时,需要在浏览器地址栏输入的URL
http://localhost:8080
3、<jsp:forward page="test.jsp"/>
4、<responsed.sendRedirect("test.jsp");
5、request.getRequestDispatcher("test.jsp").forword(request,response);
6、String content = stayTime+";URL=+test.jsp";
response.setHeader("REFRESH",content);
*简述在程序编写中什么情况会出现乱码?遇到乱码,如何解决?(写两种情况就行)
1、
2、<%@page pageEncoding="utf-8"contentType="utf-8"%>
3、Request.setCharacterEncoding("utf-8");
4、String sql="set name utf8"运行sql语句
5、Test=new String(a.getString("ISO-8859-1")."UTF-8");
- JSP的内置对象除了有application 、exception 、 pageContext 、config,还有哪五个?
session对象, request对象, out对象, page对象, response对象