1.什么是jsp?
bin:其中存放各种不同平台开启与关闭Tomcat服务器的脚本文件
lib:存放tomcat与web应用的jar包,如果使用连接池,数据库驱动放置于此
conf:存放tomcat的配置文件
webapps:web应用的发布目录
work:各web应用中由jsp转译生成的Java(servlet)文件存放的地方
logs:存放tomcat的运行日志
temp:存放tomcat运行时生成的临时文件的地方
Servlet是在Java代码中嵌入页面代码,JSP是在页面代码中嵌入Java代码
ØJSP(*.jsp) = HTML文件(*.htm,*.html)+Java程序片断+JSP标记;
2.tomcat的安装
下载apache-tomcat-6.0.47.zip压缩包。
解压缩apache-tomcat-6.0.47.zip包到D:\Programs\Servers目录下。
设置环境变量
JAVA_HOME=“D:\Programs\Java”
CATALINA_HOME=“D:\Programs\Servers\apache-tomcat-6.0.47”
3.tomcat各个包的作用
4.
JSP的执行过程主要可以分为以下几点:
1)客户端发出请求。
2)Web容器将JSP转译成Servlet源代码。
3)Web容器将产生的源代码进行编译。
4)Web容器加载编译后的代码并执行。
5)把执行结果响应至客户端。
5.
setCharacterEncoding(String EncodingCode);
该方法用于设置接收参数的编码类型,仅适用于post提交方式。
其中EncodingCode参数指定具体的编码类型。
HttpServletResponse接口封装了http协议的服务器响应相关的内容,利用此接口可获得向浏览器或其他http客户端输出响应结果的输出流。
PrintWritergetWriter()方法:获得向客户端进行文本输出的控制流
ServletOutputStreamgetOutputStream()方法:获得向客户端输出二进制数据的控制流
voidsetContentType(String TYPE)方法:设置输出流的数据类型。如果要设置输出的数据类型,必须首先调用此方法对输出流的数据类型进行设定。
什么是servlet?
我们在网上浏览网页,需要一个web服务器,浏览网页的过程就是浏览器通过HTTP协议与WEB服务器 交互的过程。在过去,大多是静态网页,因此只须把资源放在WEB服务器上即可。如今随着应用的发展,客户与服务器需要动态的交互,为了实现这一目标,就需 要开发一个遵循HTTP协议的服务器端应用软件,来处理各种请求。那么servlet是一个基于Java技术的WEB组件,运行在服务器端,我们利用 sevlet可以很轻松的扩展WEB服务器的功能,使它满足特定的应用需要。servlet由servlet容器管理,servlet容器也叫 servlet引擎,是servlet的运行环境,给发送的请求和响应之上提供网络服务。
6.1 创建servlet的步骤?
API中提供了两种不同类型的servlet类,可根据需要决定继承哪个servlet来实现。
一般继承HttpServet类
创建步骤:
创建自定义Servlet类继承的父类
实现init()方法进行初始化设置。
根据客户端请求方式决定用doXXX()方法。
在destroy()中进行善后处理工作。
6.2 配置servlet
<servlet>
<servlet-name>Servlet的名称</servlet-name>
<servlet-class>该servlet类的路径</servlet-class>
<init-param>
<param-name>参数名</param-name>
<param-value>参数值</param-value>
</init-param>
<jsp-file>/路径/XXX.JSP </jsp-file>
<load-on-startup>表示web站点被启动时,自动加载该servlet的
优先级别,越小越优先加载
</load-on-startup>
</servlet>
<servlet-name>Servlet的名称</servlet-name>
<servlet-class>该servlet类的路径</servlet-class>
<init-param>
<param-name>参数名</param-name>
<param-value>参数值</param-value>
</init-param>
<jsp-file>/路径/XXX.JSP </jsp-file>
<load-on-startup>表示web站点被启动时,自动加载该servlet的
优先级别,越小越优先加载
</load-on-startup>
</servlet>
7.<form action="rec" method="post">
用户名称:<input type="text" name="nam"><br>
爱好: <input type="checkbox" name="sec" value="游泳">游泳
<input type="checkbox" name="sec" value="爬山">爬山
<input type="checkbox" name="sec" value="电游">电游
<input type="checkbox" name="sec" value="篮球">篮球<br>
<input type="checkbox" name="sec" value="足球">足球
<input type="checkbox" name="sec" value="上网">上网
<input type="checkbox" name="sec" value="睡觉">睡觉
<input type="checkbox" name="sec" value="发呆">发呆
<br><br>
<input type="submit" value="提交">
</form>
用户名称:<input type="text" name="nam"><br>
爱好: <input type="checkbox" name="sec" value="游泳">游泳
<input type="checkbox" name="sec" value="爬山">爬山
<input type="checkbox" name="sec" value="电游">电游
<input type="checkbox" name="sec" value="篮球">篮球<br>
<input type="checkbox" name="sec" value="足球">足球
<input type="checkbox" name="sec" value="上网">上网
<input type="checkbox" name="sec" value="睡觉">睡觉
<input type="checkbox" name="sec" value="发呆">发呆
<br><br>
<input type="submit" value="提交">
</form>
8.servlet的生命周期
每个servlet实例的生命周期中只有三种类型的事情,分别对应于由servlet容器所调用的三个方法:
init()初始化时期
当servlet第一次被装载的时候由servlet容器调用init(),且只调用一次,默认情况下调用超类的init()方法。
service()运行时期
接受客户请求并决定调用何种doXXX方法,并将处理结果返回到客户端。
destroy()结束时期
为可选方法,释放不用的servlet实例所占内存和资源。
9.
Servlet的生命周期可以归纳为以下几步
Servlet创建一个Servlet实例;
Servlet调用Servlet的init()方法;
客户发送请求到Servlet;
Servlet创建一个请求对象和一个响应对象
Servlet调用service()方法,传递请求和响应对象作为参数;
service()方法获得请求对象的参数,处理请求,访问其他资源。
service()方法通过响应对象将结果传递给Server,最终到达客户端。
对于更多的相同客户端请求,Servlet将创建新的请求和响应对象,仍然激活此Servlet的service方法,传递新的参数对象,不需在初始化一次。
当Servlet不再需要Servlet时(关闭时)调用destory()方法。