您的位置:首页 > 编程语言 > Java开发

JSP(java Server Page):java动态页面

2017-09-28 21:24 387 查看

TOMCAT的文件夹结构

web服务器

TOMCAT准确的说叫JSP/Servlet容器 因为它不支持J2EE的全部13个规范

Web应用程序

java程序 或 Tomcat (Tomcat其实是c+java写的应用程序)

JRE(JVM+类库)

操作系统

bin:放运行和关闭tomcat的批处理文件..

conf:放tomcat的配置文件 最重要的是server.xml 还有web.xml(模板可以去这拷贝)

lib:放所有的web应用程序共用的jar包(servlet-api.jar、jsp-api.jar)、放tomcat启动时需要的jar包

logs:运行时产生的日志文件

temp:运行时产生的临时文件

work:放jsp转换后servlet

一、为什么有jsp?

代替servlet ,简化输出

二、什么是jsp?

Java Server Pages

三、JSP工作原理(第一次访问jsp页面时为什么比较慢)

jsp是一个草稿,实质就是servlet,

index.jsp–JSP引擎—>index_jsp.java(servlet源程序)–编译–>index_jsp.class–运行–>遵循servlet生命周期

第二次及之后运行是调用service( )方法.

如果修改jsp代码后没反应,把/work下的catalina删掉重新转化一下。

如何调错?

在异常描述中找自己写的代码的第一行,也可以找index_jsp.java的出错行数。(报错500内部服务器错误,就是自己写的代码错了)

JSP的五个组成部分

(一)模版元素2个

(一)html、xml

XML=Extensible Markup Language

作用:

当做配置文件使用 web.xml

保存数据(当做数据库使用 txt xml)

(二)注释元素3个

1 html注释 会显示在客户端源码中

2 JSP注释

(三)指令元素3个

1.page指令(页面指令)

(四)脚本元素3个

1.声明

<%! 成员变量或成员方法%>

被转换成servlet中的成员变量和成员方法

(五)动作元素7个

1.<jsp:include page="reused.jsp"/>

<jsp:include page="reused.jsp" flush="true">
<jsp:param name="username" value="zzy"/>
</jsp:include>

flush: 表示在reused页面包含进来之前,是否刷新include1.jsp页面,一定要改成true

2.<jsp:param name="username" value="zzy"/>

3.转发
<jsp:forward page="msg.jsp"/>

相当于servlet中的
//3.转发视图
RequestDispatcher rd = request.getRequestDispatcher("msg.jsp");
rd.forward(request,response);

演示代码:

111
<%
Thread.sleep(5000);
%>
<jsp:forward page="haha.jsp"></jsp:forward>

4.<jsp:useBean>、<jsp:setProperty>、<jsp:getProperty>

<jsp:useBean id="id" scope="page|request|session|application" class="">
<jsp:setProperty name="id" property="*"/>
</jsp:useBean>

<jsp:getProperty name="id" property="属性名"/>

5.<jsp:plugin>
可以使用它来插入Applet或者JavaBean


静态包含和动态包含的区别:

1、动态包含可以传参数,变成双标记之后,标签中间写
<jsp:param name="username" value="传的参数值" />
;静态参数无法传参数值

2.静态包含:父页面和被包含的页面,合成一个jsp,一起转化成一个servlet, 相当于2个jsp,1个servlet;动态包含:2个jsp,2个servlet

3.静态包含:把被包含页面的全部代码都引入(包含指令元素);动态包含不会引入被包含页面的指令元素。

如何选用?

需要传参使用动态包含.

如果复用的页面经常改动,使用动态包含…

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息