Servlet——初识Servlet
来源:互联网 发布:淘宝售假申诉包成功 编辑:程序博客网 时间:2024/05/16 01:29
为什么会出现servlet?
需求:请用你现有的java技术,开发一个动态网页,比如可以让用户留言,其他人可以回复。
显然现有的普通的java技术很难实现这样一些和用户交互的功能。Sun公司就开发了servlet技术供程序员使用。
●什么是servlet
Servlet技术是在java EE出现之前就存在了,在开发动态网页中,得到广泛应用,直到现在的java EE项目中也是非常重要的,同时jsp也是在servlet的基础上发展起来的。因此,掌握好servlet太重要了。
Servlet(java服务器端小程序)是用java编写的服务器程序,它的特点:
他是由服务器端(tomcat)调用和执行的。
他是用java语言编写的。
他是按照Servlet规范开发的。
功能强大,可以完成几乎所有的网站功能。
是学习jsp的基础。
●servlet/jsp开发工具
▶普通的文本编辑器:notepad,uedit32,editplus
▶集成开发工具jcreator,jbuilder,eclipse,netbean
▶运行环境:
浏览器:绝大部分浏览器
Web服务器:Tomcat、Bea weblogic、Ibm websphere、Resin、JBoss
数据库:sql server2000,sybase,mysql,access,oracle ,db2
●Tomcat和servlet在网络中的位置
Tomcat是一个免费的开源Servlet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其他一些公司及个人共同开发而成。
●Servlet的快速入门案例
开发Servlet的三种方法:
a.实现servlet接口
b.继承GenericServlet
c.继承HttpServlet
重点是第一种和第三种,真正的开发一般采用第三种,但第一种更能体现Servlet的生命周期。
需求如下:请使用实现Servlet接口的方法,来开发一个Servlet,要求该Servlet能够显示一句话:Hello,World,同时显示当前时间(体现动态效果)。
步骤如下:
建立一个Web应用myWeb
在myWeb下建立WEB-INF/web.xml文件(可以从ROOT/WEB-INF拷贝)
在myWeb下建立classes目录和lib目录,我们的Servlet就要在classes目录下开发。
开发myFirstServlet.java
package com.gavin.servlet;import javax.servlet.*;import javax.servlet.http.*;import java.io.*;public class myFirstServlet implements Servlet{//该函数用于初始化servlet,即把该servlet装载到内存中//该函数只会被调用一次public void init(ServletConfig config) throws ServletException{ }//该函数得到ServletConfig对象public ServletConfig getServletConfig(){return null;}//该函数是服务函数,我们的业务逻辑代码就是写在这里的//对于浏览器的每次请求,该函数每次都会被调用public void service(ServletRequest req, ServletResponse res) throws ServletException, java.io.IOException{ //在控制台输出 System.out.println("Hello,World "+new java.util.Date()); //在浏览器输出 res.getWriter().println("Hello,World "+new java.util.Date().toLocaleString()); } //该函数得到servlet的配置信息 public java.lang.String getServletInfo(){ return null; } //销毁该servlet,从内存中清除,该函数和init函数是配对的 //该函数也只会被调用一次 public void destroy(){ }}
5.根据servlet的规范,我们还需要部署Servlet
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1" metadata-complete="true"><!--根据Servlet规范,需要将Servlet部署到web.xml文件--><!--没开发一个Servlet,都要在web.xml中部署--><servlet><!--servlet-name,指定servlet名称,可以自己定义并不一定和Servlet的类名一致,但习惯上一致--> <servlet-name>myFirstServlet</servlet-name> <!--servlet-class要指明该servlet放在哪个包下的,形式如下:包.类--> <servlet-class>com.gavin.servlet.myFirstServlet</servlet-class> </servlet> <!--servlet-mapping是servlet的映射--> <servlet-mapping> <!--这里要和上面的servlet-name一致,这样才能匹配上--> <servlet-name>myFirstServlet</servlet-name> <!--url-pattern这里就是将来访问该servlet的资源名称,可以自定义--> <!--默认命名规范就是该servlet的名字,前面的斜杠绝对不能丢--> <url-pattern>/myFirstServlet</url-pattern> </servlet-mapping></web-app>
6.测试
在浏览器中输入http:localhost:8080/myWeb/ myFirstServlet回车
运行效果:
7.分析一下手工配置web.xml时可能出现的错误
①servlet-name前后映射不一致
②servlet-class后面有.java或者.class后缀,会报500错误
③在浏览器中输入url时资源名称与web.xml中配置的url-pattern不一致,会报404错误
【补充知识点1:如果使用javac去编译一个java文件,则需要带命令参数:
javac–d . java文件】
【补充知识点2:如何不重启tomcat,就指定去reload一个web应用?方法:进入到tomcat的manager界面,在之中找到自己的web应用,并点击reload即可。
】
- Servlet——初识Servlet
- 初识Servlet—Servlet生命周期
- 【Servlet】(一)初识Servlet
- 【Servlet】(二)初识Servlet
- [Servlet] 初识Servlet
- 初识Servlet
- 初识servlet
- servlet初识
- 初识Servlet
- 初识Servlet
- 初识Servlet
- 初识Servlet
- Servlet初识
- 初识servlet
- 初识servlet
- 初识servlet
- 初识servlet
- 初识servlet
- 【Linux之路】进程与线程(实验)
- POJ 1003
- Protel常用操作
- css 自定义全局的input样式(提交按钮,文本框)
- MyEclipse中修改项目运行地址栏中项目名称
- Servlet——初识Servlet
- 避免Java应用中NullPointerException的技巧和最佳实践
- MFC创建快捷菜单(右键菜单)
- List分类
- 在Linux环境下使用TCP的keepalive机制
- java变量,初始化快,构造函数的执行顺序
- cluster factor(聚簇因子值)计算
- DAVINCI DM3730开发攻略——xload-1.51移植
- Android视图绘制流程完全解析,带你一步步深入了解View(二)