一、实验目的
1 了解MyEclipse 开发环境的构成
2 掌握MyEclipse 下JAVA EE开发环境的设置
3 掌握JSP技术及JSP语法的基础内容
二、实验内容
1.测试简单 jsp 文件:
用任意文本编辑器建立一个 test.jsp 文件,
内容如下:
<%
out.print("Hello World!");
%>
将test.jsp放在 %catalina_home%\webapps\ROOT 目录下
在地址栏中输入: http://127.0.0.1:8080/test.jsp查看运行效果。
实验结果:
2.在MyEclipse集成环境下编写Java web项目
(1)安装MyEclipse;
(2)设置MyEclipse与Tomcat之间的关联;
(3)新建Java web项目test(web project),并将其部署到tomcat;
在项目中(webroot文件夹)新建两个jsp文件:
input.jsp实现用户信息的输入;
receive.jsp将前者输入的信息输出
(4)发布运行
实验过程:
源代码:
Input.jsp:
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
Insert title here
Receive.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
Insert title here
实验结果:
(4)查看项目部署到服务器上的位置(%catalina_home%\webapps)和内容;
将%catalina_home%\webapps\test中的input.jsp和receive.jsp拷贝到%catalina_home%\webapps\ROOT 目录下,在地址栏中输入: http://127.0.0.1:8080/input.jsp查看运行效果。
(5)查看%JAVA_HOME%\work\Catalina\localhost\test\org\apache\jsp中的内容,理解tomcat服务器对.jsp文件的解析过程。
3.JSP语法元素
输入并执行下面JSP页面,文件名为counter.jsp
<%@ page language="java" %>
<%! int count = 0; %>
<% count++; %>
Welcome! You are visitor number
<%= count %>
【问题1】该JSP页面包含哪些JSP语法元素。在浏览器中访问该页面,输出结果如何?多次刷新页面,结果如何?
1)<%@page language=“”%>是Page指令,<%!---%>是JSP变量注释,<% ---%>是JSP程序段注释,<%= ---%>是JSP输出结果注释。
2)输出结果是:Welcome! You are visitor number 1
3)多次刷新页面的结果情况:每刷新一次页面,number后面的数字会加1
【问题2】打开counter.jsp转换后的源文件counter_jsp.java,对应的类文件在哪里?文件名是什么?
类文件地址:在该项目的的build文件夹里面,必须从资源管理器里面找到该项目的build文件夹才能看见类文件,文件名为:counter_jsp.class
【问题3】查看count变量是在哪里声明的?
在counter_jsp.java里面声明的。
【问题4】将上面JSP页面中的<%! int count = 0; %>一行改为<% int count = 0; %>,页面能否正常执行,它与上面页面有什么区别?
能正常执行,它与上面页面的区别是,每次刷新浏览器页面number后面的数字都保持不变,原因:上面页面定义的变量是全局变量,而这个页面定义的是局部变量。
4.了解隐含对象是如何定义的(选做)
在helloapp应用程序中编写一个名为implicit.jsp的页面,内容为空。然后在浏览器中访问该页面。接下来打开
完成下面的填空:
JSP页面转换后定义的类名为:( implicit?_jsp.java )
该类继承了哪个类:(org.apache.jasper.runtime.HttpJspBase )
隐含对象request的类型为:(javax.servlet.http.HttpServletRequest)
隐含对象response的类型为:(javax.servlet.http.HttpServletResponse)
隐含对象pageContext的类型为:( javax.servlet.jsp.PageContext )
隐含对象session的类型为:(javax.servlet.http. HttpSession )
隐含对象application的类型为:(javax.servlet.ServletContext)
隐含对象config的类型为:(javax.servlet.ServletConfig)
隐含对象out的类型为:( javax.servlet.jsp.JspWriter)
隐含对象page的类型为:( java.lang.Object )
修改implicit.jsp页面,在中加入下面一行:
<%@ page isErrorPage = "true" %>
然后再访问该页面,再次查看上述Java源文件,则可看到exception隐含对象的定义。
隐含对象exception的类型为:( java.lang.Throwable)
说明下面4个隐含对象是如何得到的:
application(pageContext.getServletContext();)
config (pageContext.getServletConfig();)
session (pageContext.getSession();)
out (pageContext.getOut();)
5.各种隐含对象与作用域变量的使用
【步骤1】request隐含对象的使用(request.jsp)
<%@ page contentType="text/html;charset=gb2312" %>
<%
String remoteAddr = request.getRemoteAddr();
String remoteHost = request.getRemoteHost();
int serverPort = request.getServerPort();
%>
你的IP地址为:<%=remoteAddr %>
你的主机名为:<%=remoteHost %>
服务器的端口号为:<%=serverPort %>
【步骤2】out隐含对象的使用(out.jsp)
<%@ page contentType="text/html;charset=gb2312" %>
out对象的使用
<%
out.print("学习使用out对象");
int buffer = out.getBufferSize();
int available = out.getRemaining();
%>
out对象的类型为:<%= out.getClass().getName() %>
BufferSize=<%= buffer %>
Available=<%= available %>
【步骤3】application隐含对象的使用(application.jsp)
<%@ page contentType="text/html;charset=gb2312" %>
<%
int number = 0;
Integer num =(Integer)application.getAttribute("num");
if(num==null){
application.setAttribute("num",new Integer(number));
}
else{
number = num.intValue()+1;
application.setAttribute("num",new Integer(number));
}
%>
本页面文件的实际路径是:
<%=application.getRealPath("application.jsp") %>
application对象中变量num的值为:<%=application.getAttribute("num") %>
【步骤4】session隐含对象的使用(session.jsp)
<%@ page contentType="text/html;charset=gb2312" %>
<%@ page session="true" %>
<%
session.setAttribute("user","欧阳清风");
%>
您的会话ID是:<%=session.getId()%>
session对象中存放的变量user的值为:<%=session.getAttribute("user")%>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)