- 浏览: 10623 次
- 性别:
- 来自: 烟台
最新评论
Servlet
- 博客分类:
- Java学习笔记
一、创建第一个Servlet,输出HelloServlet
1、建立JavaWeb应用的目录
firstWeb
WEB-INF
classes------>自定义的servlet就放在此处
lib
web.xml
2、在classes目录下创建HelloServlet.java文件,内容如下:
package cn.itcast.servlet;
import javax.servlet.*;
import java.io.*;
public class HelloServlet extends GenericServlet{
public void service(ServletRequest req,
ServletResponse res)
throws ServletException,
java.io.IOException{
res.getOutputStream().write("HelloServlet".getBytes());
}
}
3、编译HelloServlet.java
通过控制台(cmd)进入到HelloServlet.java所在的文件夹
先设置环境变量classpath:
set classpath=%classpath%;C:\apache-tomcat-6.0.32\lib\servlet-api.jar
javac -d . HelloServlet.java
4、配置HelloServlet(每写一个Servlet都需要进行配置),在web.xml中进行配置
在<web-app>元素中加入以下内容:
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>cn.itcast.servlet.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/Hello</url-pattern>
</servlet-mapping>
5、发布firstApp应用。(开放式目录/war --->拷贝到webapps目录下;也可以用虚拟目录;)
二、修改MyEclipse的servlet默认模板
MyEclipse6:找到MyEclipse6的安装目录,搜索servlet.java,这个就是模板文件
MyEclipse8:C:\Program Files\Genuitec\Common\plugins\com.genuitec.eclipse.wizards_8.5.0.me201003052220.jar这个jar包内的templates内的servlet.java,这个就是模板文件
三、Servlet生命周期
1、代表生命周期的方法init()、service()、destroy()
当用户第一次请求该servlet时,才会执行init()方法,用户对该servlet进行初始化。
若没有用户访问该Servlet,则Servlet不会初始化,即引擎不会实例化该servlet。
一旦servlet初始化了,就会驻留内存。
一旦服务器停止了,会自动执行destroy()方法,用与释放该servlet占用的资源。
2、服务器在启动时自动加载
<servlet>
<servlet-name>Demo3Servlet</servlet-name>
<servlet-class>cn.itcast.servlet.Demo3Servlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
说明:<load-on-startup>1</load-on-startup>用于配置服务器自动加载servlet,并初始化,其中的数字代表加载servlet的顺序。
四、ServletConfig对象
Servlet在初始化时,会自动传入一个ServletConfig对象,通过此对像可以获取到针对该servlet配置的参数信息。
参数信息配置如下:
<servlet>
<servlet-name>Demo5Servlet</servlet-name>
<servlet-class>cn.itcast.servlet.Demo5Servlet</servlet-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>p1</param-name>
<param-value>p1Value</param-value>
</init-param>
</servlet>
在Servlet中,可以调用ServletConfig对象的getInitParameter(String paramname)来获得指定参数的值。
五、ServletContext对象
一个web应用对应一个ServletContext对象,它的生命周期与web应用的生命周期对应。
1、通过ServletContext对象来实现多个servlet数据共享,有关的方法为:
getAttribute(String name):
setAttribute(String name,Object obj):
removeAttribute(String name):
2、获取web应用的配置参数
配置如下:
<web-app>
<context-param>
<param-name>url</param-name>
<param-value>jdbc:mysql:///test</param-value>
</context-param>
<context-param>
<param-name>username</param-name>
<param-value>root</param-value>
</context-param>
<context-param>
<param-name>password</param-name>
<param-value>123</param-value>
</context-param>
</web-app>
通过ServletContext对象的getInitParameter(String paramName)获取根据名字指定的参数值。或者调用
getInitParameterNames()方法获取web应用的所有配置参数
3、利用ServletContext读取资源文件
getRealPath(String path):获取path参数指定的绝对路径。获取实际部署的路径。参数path要以"/"开头,代表了web应用的根目录。
4、利用类加载器来读取资源文件
4.1假如资源文件存放在classes目录下,可以调用以下语句来加载
ClassLoader loader = Demo6ServletContext.class.getClassLoader();
InputStream in = loader.getResourceAsStream("database.properties");
或者
ClassLoader loader = this.getClass().getClassLoader();
4.2假如资源文件放在classes目录中的某个类包中,比如cn.itcast.servletcontext
可以调用以下语句来加载:
ClassLoader loader = this.getClass().getClassLoader();
InputStream in = loader.getResourceAsStream("cn/itcast/servletcontext/database.properties");
5、向应用的临时目录中写临时文件
Servlet规范规定,在创建ServletContext对象时,需要用参数名为“javax.servlet.context.tempdir”去绑定临时文件目录。
能得到临时目录,可以调用IO往其中添加临时文件。
发表评论
-
day09-用户注册登录
2011-08-27 10:05 594先计划好步骤,写个read ... -
使用类加载器的方式管理资源和配置文件
2011-08-27 10:03 925用普通的IO类,需要通过配置文件,指定资源或配置文件的位置。 ... -
day06-会话与状态
2011-08-21 20:37 809通过Cookie显示上次访问时间: 1.获取 ... -
day05-request response
2011-08-19 22:51 439Response: 解决response中 ... -
Java编码问题汇总
2011-08-18 11:44 565本文转载自:http://www.blogjava.net/z ... -
Tomcat与http协议
2011-08-16 19:50 9881、Tomcat安装 JAVA_HOME环 ... -
day01-Javaweb xml基础
2011-08-15 08:40 670XML基础: 1. 保存文 ... -
Scanner的用法误区
2011-08-14 16:55 828本文转载自 http://bianku.iteye.com/b ... -
Java学习笔记-GUI
2011-08-11 22:47 547Java GUI: 创建图形化界面: 1. 创建frame窗 ... -
Java学习笔记
2011-07-11 09:10 626交通灯: (1)简化模型 总共有12条路线,为了统一编程模型 ... -
Java学习笔记
2011-07-11 08:33 7622011-7-9 可变参数特点: ... -
Java学习笔记
2011-07-05 14:51 6352011-7-1 处理发生在某个GUI组件上的xxxEvent ... -
Java学习笔记
2011-06-18 23:29 559操作系统的环境变量: ...
相关推荐
用注解的方式定义一个Servlet,就不用在web.xml中配置了。Servlet的访问URL是Servlet的必选属性,可以选择使用urlPatterns或者value定义。 像上面的AnnotationServlet可以描述成@WebServlet(name="Annotation...
赠送jar包:jakarta.servlet-api-4.0.4.jar; 赠送原API文档:jakarta.servlet-api-4.0.4-javadoc.jar; 赠送源代码:jakarta.servlet-api-4.0.4-sources.jar; 赠送Maven依赖信息文件:jakarta.servlet-api-4.0.4....
Files contained in javax.servlet.jar: META-INF/MANIFEST.MF javax/servlet/http/LocalStrings.properties javax.servlet.http.HttpSessionBindingListener.class javax.servlet....
赠送jar包:jakarta.servlet-api-4.0.4.jar; 赠送原API文档:jakarta.servlet-api-4.0.4-javadoc.jar; 赠送源代码:jakarta.servlet-api-4.0.4-sources.jar; 赠送Maven依赖信息文件:jakarta.servlet-api-4.0.4....
基于 Servlet+jsp+mysql 开发 javaWeb 学生宿舍管理系统基于 Servlet+jsp+mysql 开发 javaWeb 学生宿舍管理系统基于 Servlet+jsp+mysql 开发 javaWeb 学生宿舍管理系统基于 Servlet+jsp+mysql 开发 javaWeb 学生宿舍...
赠送jar包:javax.servlet-api-4.0.0.jar; 赠送原API文档:javax.servlet-api-4.0.0-javadoc.jar; 赠送源代码:javax.servlet-api-4.0.0-sources.jar; 赠送Maven依赖信息文件:javax.servlet-api-4.0.0.pom; ...
SERVLET
javax.servlet的jar包,解决找不到javax.servlet.*等问题的!欢迎下载!!
赠送jar包:jersey-container-servlet-core-2.22.2.jar; 赠送原API文档:jersey-container-servlet-core-2.22.2-javadoc.jar; 赠送源代码:jersey-container-servlet-core-2.22.2-sources.jar; 赠送Maven依赖信息...
赠送jar包:javax.servlet-api-4.0.1.jar; 赠送原API文档:javax.servlet-api-4.0.1-javadoc.jar; 赠送源代码:javax.servlet-api-4.0.1-sources.jar; 赠送Maven依赖信息文件:javax.servlet-api-4.0.1.pom; ...
我们老师教学演示的servlet例子 从简单到难文件夹有八个demo供初学者学习 servlet01 servlet02 servlet03 servlet04 servlet05 servlet06 servlet07 servlet08 servlet是在服务器上运行的小程序。这个词是在Java ...
赠送jar包:javax.servlet-3.0.0.v201112011016.jar; 赠送原API文档:javax.servlet-3.0.0.v201112011016-javadoc.jar; 赠送源代码:javax.servlet-3.0.0.v201112011016-sources.jar; 赠送Maven依赖信息文件:...
servlet基础与servlet容器模型
servlet.jar ,Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。 使用 Servlet,您可以收集来自网页...
javax.servlet JAR包,解决找不到 import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; jar包问题
实验1: 利用servlet实现一个简单的聊天室 实验目的 (1) 理解servlet的工作原理 (2) 掌握servlet编程基本技能 实验内容及要求 1. 利用servlet技术实现一个简单的聊天室,实现多人同时交流。当发送聊天信息时,信息...
Servlet项目实践 实现学生信息系统的全部代码 一、Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术。 Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java...
这是一份关于2.1版Java Servlet API的说明文档,作为对这本文档的补充。 1.2 谁需要读这份文档 这份文档描述了Java Servlet API的最新版本2.1版。所以,这本书对于Servlet的开发者及servlet引擎的开发者同样...
servlet.jar.zip用于servlet程序的开发
servlet apiservlet apiservlet apiservlet api