实验二 JSP应用基础
一、实验目的:
1. 掌握JSP指令标识、脚本标识、页面注解。
2.理解JSP静态代码和动态代码的混合编码方式及分离运行原理;
3、重点掌握脚本标签的使用规则和作用。
4、掌握几个常用的内置对象的使用
二、实验原理:
<略>
三、实验内容:
1.创建web应用,包含index.jsp和error.jsp,index页面进行数据类型转换操作,发生异常进入error.jsp页面。
Index3.jsp:
<%@ page contentType="text/html;charset=UTF-8" language="java" errorPage="error.jsp" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%
String as="ffdg";
Integer.parseInt(as);
%>
</body>
</html>
error.jsp:
<%@ page contentType="text/html;charset=UTF-8" language="java" isErrorPage="true" %>
<html>
<head>
<title>Title</title>
</head>
<body>
出现错误,错误如下!<br>
<%=exception.getMessage()%>
</body>
</html>
2.通过声明变量和方法实现一个简单的网站计数器 。
Count1.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%! int count=0;
synchronized void setCount(){
count++;
}
%>
<%
setCount();
out.println("你是第" + count + "个访问本站的用户");
%>
</body>
</html>
Count2.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%!int i = 0;%>
<% i++ ;%>
<p>您是第<%=i%>个访问本站的客户。</p>
</body>
</html>
3.通过include指令包含文件,通过include动作包含文件。
Jsp指令:
Hello.jsp;
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%
out.println("登录成功,欢迎进入");
%>
<%@include file="welcomeServer.jsp"%>
</body>
</html>
welcomeServer.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>welcomeServer</title>
</head>
<body>
<hr>
<%
for(int i = 0;i<100;i++){
if(i%10==0){
out.print("<br>");
}
out.print("欢迎 ");
}
%>
</body>
</html>
包含
jsp动作:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%
out.println("登录成功,欢迎进入");
%>
<%--
<%@include file="welcomeServer.jsp"%>
--%>
<jsp:include page="welcomeServer.jsp"></jsp:include>
</body>
</html>
实时更新
4.完成成语接龙的JSP实现。
Idom.jsp
<%--
Created by IntelliJ IDEA.
User: lenovo
Date: 2019/11/14
Time: 12:51
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>成语接龙</title>
</head>
<body>
<h2>成语接龙</h2>
<%-- <%
String s = (String) application.getAttribute("message");
if(s==null){
out.println("成语为空,请重新输入!<br>");
}else{
out.print(s);
}
application.setAttribute("s",s);
%>--%>
<form action="test.jsp" method="post">
四字成语输入:<input type="text" name="message"><br>
<input type="submit" value="提交">
</form>
</body>
</html>
test.jsp
<%--
Created by IntelliJ IDEA.
User: lenovo
Date: 2019/11/14
Time: 13:12
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%--<%--%>
<%--String message = "";--%>
<%--ServletContext application;--%>
<%--synchronized void sendMessage(String s){--%>
<%--application=ServletContext();--%>
<%--message = message +s+"->";--%>
<%--application.setAttribute("message",message);--%>
<%--}--%>
<%--%>--%>
<%
request.setCharacterEncoding("utf-8");
// ServletContext context = application.getContext("mes");
//application.getAttribute();
//sendMessage(context);
out.print("您的四字成语: "+ request.getParameter("message")+ " 已经提交!3s后回到成语页面,继续成语接龙!");
response.setHeader("refresh","3;url=idom.jsp");
%>
</body>
</html>
<%--<%!--%>
<%--String message = "";--%>
<%--ServletContext application ;--%>
<%--private void sendMessage(String s) {--%>
<%--application= (ServletContext) getServletConfig();--%>
<%--message = message +s+"->";--%>
<%--application.setAttribute("message",message);--%>
<%--}--%>
<%--%>--%>
5.把实验一的购物车改为jsp+servlet实现。
见实验四报告