天天看点

servlet 和 jsp

servlet:

缺点:

显示html的时候,麻烦。out.println("<html>");

优点:

servlet就是一个java类。编写容器。

调试容易。ide。

jsp

jsp=html+java代码

java server pages(java服务器端页面)

1.jsp和servlet区别:

jsp和servlet是本质相同的技术。容器负责编译jsp-----servlet

表现形式。

servlet---java类

jsp-------文本(静态资源)

1.jsp以源文件部署到容器中。(servlet需要编译成class文件后,部署到容器中)

2.jsp部署到容器的根目录下,和静态资源位于相同的目录。(web-inf/classes)

3.容器编译jsp的源文件到servlet class类:有第一个请求访问jsp的时候,容器编译。如果部署到容器中的jsp源文件被修改了,容器会重新的编译jsp到servlet

4.jsp---servlet,类名:文件名_jsp.java

5.jsp中的html的代码后被jsp引擎放入到servlet的out.write()函数中。

在jsp中的嵌入java代码必须放在指定的标记中。

1.jsp的三种原始标签

2.jsp的指令标签

3.jsp的动作标签

4.在jsp2.0规范后,提出el表达式

5.自动以的标签(jstl标签库,struts标签库,分页标签库)

jsp中原始的三种标签

<%! %>------声明标签,声明变量和函数(声明的变量是成员变量,函数是和_jspservice并列的函数体)

<%  %>------脚本标签  编译在_jspservice函数体的内部

<%=java表达式 %>------赋值标签  out.println(add(3,4));

练习1:

以20%概率显示你中奖了!~

练习2:

把背景颜色根据输入的值进行改变用jsp来实现。

jsp的指令标签:

<%@ 标签名  属性=值 属性=值。、。。。 %>

page include

<%@ page language="java"%>

language="java":

import="java.util.*,com.bluedot.user,"

<%@ page import="java.util.*"%>

<%@ page import="com.bluedot.user"%>

pageencoding="utf-8"----告诉jsp引擎,在解析我们的jsp的文件的时候用什么编码方式

                    ----

contenttype="text/html; charset=utf-8"

response.setcontenttype("text/html; charset=utf-8");

练习3:

把给客户端产生excel表格的例子改成用jsp来实现。(字符型响应)

<%@ page errorpage="error.jsp"%>

jsp中的内置对象(暗对象):9个

jsp                              servlet中的类型

request-------------------------httpservletrequest

response------------------------httpservletresponse

application---------------------servletcontext

session-------------------------httpsession(受指令标签page的session属性控制,默认可以使用)

config--------------------------servletconfig

out-----------------------------printwriter(jspwriter)

exception-----------------------exception(有条件的出现,当page指令的标签的iserrorpage为true的时候)

page

pagecontext