Servlet
1.介绍
servlet技术是在java ee出现之前就存在了,在开发动态网页中得到广泛的应用,直到现在的java ee项目中也是非常重要的,同时jsp也是在servlet的基础上发展起来的。
servlet(java服务器小程序)是用java编写的服务器程序,它的特点:
1.由服务器调用和执行
2.用java语言编写的
3.按照servlet规范开发
4.功能强大,可以完成几乎所有的网站功能
2.开发工具
普通的文本编辑器notepad,uedit32
集成开发工具jcreator,jbuilder,eclipse,editplus,netbean
3.servlet体系结构
4.开发servlet的三种方法
实现servlet接口
继承GenericServlet
继承HttpServlet(最常用的方法)
5.servlet的生命周期
servlet部署在容器里(我们使用的是Tomcat,也可是别的,比如jboss,weblogic。。。),它的生命周期由容器来管理。
servlet的生命周期分为以下几个阶段:
1.装载servlet,由相应的容器来完成
2.创建一个servlet实例
3.调用servlet的init()方法,该方法只会在第一次访问servlet时被调用一次
4.服务:调用servlet的service()方法,一般业务逻辑在这里处理,该方法在访问该servlet时,会被调用
5.销毁:调用servlet的destroy()方法,销毁该servlet实例,该方法在以下情况被调用:
a)tomcat重新启动
b)reload该webapps
c)重新启动电脑
6.开发流程
1.建立一个web站点
2.站点内引入Tomcat文件夹下lib文件夹里的servlet-api.jar
3.编写servlet
4.部署servlet
servlet编译后放在WEB-INF/classes下,注意package
在web.xml文件中添加如下代码:
<servlet>
<!—给servlet取名,可以随意取名-->
<servlet-name>hello</servlet-name>
<!—指明servlet的路径,就是servlet的包+类名-->
<servlet-class>com.nenu.Hello</servlet-class>
</servlet>
<servlet-mapping>
<!—给servlet取名,可以随意取名-->
<servlet-name>hello</servlet-name>
<!—浏览器中输入的url,可以随意取名-->
<url-pattern>/hello<url-pattern>
</servlet-mapping>
5.启动Tomcat,访问你的servlet,在浏览器的地址栏中输入:http://127.0.0.1:8080/myWebSite/hello回车就可以看到servlet的输出
三个例子
例1:实现servlet接口
Hello.java
//实现servlet接口 package com.nenu; import javax.servlet.*; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import java.io.IOException; import java.io.*; public class Hello implements Servlet{ //init只执行一次 public void init(ServletConfig parm1) throws ServletException { System.out.println("init"); } public ServletConfig getServletConfig() { return null; } //service负责业务逻辑 public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { System.out.println("service"); //处理中文 res.setContentType("text/html; charset=gbk"); PrintWriter pw=res.getWriter(); pw.println("Hello,实现servlet接口."); } /** * Method getServletInfo * * * @return * */ public String getServletInfo() { // TODO: Add your code here return null; } /** * Method destroy * * */ public void destroy() { // TODO: Add your code here System.out.print("destroy"); } }
web.xml中
<servlet> <servlet-name>Hello</servlet-name> <servlet-class>com.nenu.Hello</servlet-class> </servlet> <servlet-mapping> <servlet-name>Hello</servlet-name> <url-pattern>/Hello</url-pattern> </servlet-mapping>
访问:http://localhost:8080/MyServlet/Hello
例2:继承GenericServlet
HelloGen.java
////继承GenericServlet实现servlet package com.nenu; import javax.servlet.GenericServlet; import java.io.*; import javax.servlet.*; public class HelloGen extends GenericServlet { //重写service方法 public void service(ServletRequest req, ServletResponse res) { try{ PrintWriter pw=res.getWriter(); pw.println("Hello, GenericServlet"); } catch(Exception ex){ ex.printStackTrace(); } } }
web.xml
<servlet> <servlet-name>HelloGen</servlet-name> <servlet-class>com.nenu.HelloGen</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloGen</servlet-name> <url-pattern>/HelloGen</url-pattern> </servlet-mapping>
例3: 继承HttpServlet(最常用的方法)
HelloHttp.java
//继承HttpServlet实现servlet package com.nenu; import javax.servlet.*; import java.io.*; import javax.servlet.http.*; public class HelloHttp extends HttpServlet { //处理get请求 public void doGet(HttpServletRequest req, HttpServletResponse res){ this.doPost(req,res); } //处理post请求 public void doPost(HttpServletRequest req,HttpServletResponse res){ try{ PrintWriter pw=res.getWriter(); pw.println("hello, servletHttp"); } catch(Exception ex){ ex.printStackTrace(); } } }
web.xml
<servlet> <servlet-name>HelloHttp</servlet-name> <servlet-class>com.nenu.HelloHttp</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloHttp</servlet-name> <url-pattern>/HelloHttp</url-pattern> </servlet-mapping>
相关推荐
用注解的方式定义一个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