Servlet和Jsp 重点部分
Servlet 整体加载过程如下
1、Web服务器接受request。
2、请求发给Servlet引擎,如果已经加载servlet,class 则直接执行,否则从硬盘中查找class 加载进来。
3、执行Service方法处理请求,并返回给web服务器。
4、web服务器返回给客户端。
Servlet的继承关系为
Servlet 接口
|
GenericServlet 抽象类
|
HttpServlet 实现类
|
普通Servlet 子类
Servlet生命周期
1、装载及实例化Servlet
每次访问时候会检查文件修改时间来决定是否重新loader,过程为硬盘-》内存。至于是启动时候装载还是在访问时候装载是由容器来定。
2、初始化 执行init方法
带参数的init方法和无参数的init方法分2种。
如果ServletConfig 参数不空的情况下,调用super.init(config);来初始化父类的成员变量ServletConfig。
初始化
public abstract class GenericServlet{
private ServletConfig _config;
public void init(ServletConfig conf){
_config=config;
}
public String getInitParameter(String s){
_config.getInitParameter(s);
}
}
3、处理客户请求 执行service方法
PrintWriter output = resp.getWriter();
4、销毁 执行destroy方法
JSP四种元素
1、脚本元素
a.表达式
格式:<%= %>
转化形成Servlet: out.print(express);
b.脚本小应用程序:
&nb
相关文档:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< ......
今天刚巧碰到和JSP注释有点关系的一个问题。所以做个笔记,说明一下显式注释<!-- comments --> 和隐式注释<%-- comments --%> 之间的两点差别。
曾经以为显式注释和隐式注释差别只有在代码显示上,这点应该大家都知道,显式注释会显示在客户端页面源码中,而隐式注释是看不到的,不过这只是第一点。
......
简单的连接数据库的测试代码
<%@ page import="java.lang.*, java.io.*, java.sql.*, java.util.*" contentType="text/html;charset=gb2312" %>
<html>
<body>
<% Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:m ......
大家总是不喜欢看到<%和%>在jsp页面上,其实我们可以使用比较优雅的xml方式来表达
1,隐含的注释
JSP语法:<%-- 内容 --%>
XML语法:无
2,变量或函数的声明
JSP语法:<%! declaration;[declaration;]+... %>
例如:
<%!
int i=0;int a,b,c;
Color red=new Color( ......
CGI就是web服务器辅助程序,和servlet是一个作用。
----jsp有什么-----
------------------------------------------------------
jsp可以包括什么:
1、jsp脚本(程序片段):
<% ... %>
2、jsp表达式:
<%= ... %>
3、jsp3种指令:
<%@ page attribute="xxx" %>
<%@ taglib attribut ......