Servlet的HelloWorld

原创 2018年04月15日 18:26:31
 Servlet的HelloWorld
1)创建一个Servlet接口的实现类
public class HelloServlet implements Servlet
2)在web.xml文件中配置和映射这个Servlet 


//配置和映射Servlet
  <servlet>
  //Servlet注册的名字
  <servlet-name>helloServlet</servlet-name>
  //Servlet的全类名
  <servlet-class> com.briup.javaweb.HelloServlet</servlet-class>
  </servlet>


   <servlet-mapping>
   //需要和某一个servlet节点的servlet-name子节点的文本节点一致
   <servlet-name>helloServlet</servlet-name>
   //映射具体的访问路径:/代表当前web应用的根目录
   <url-pattern>/hello</url-pattern>

   </servlet-mapping>




<%@page import="com.briup.javaweb.Person"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
 Person person=new Person();
 System.out.println(person.getInfo());
%>
</body>

</html>


3 Servlet容器:运行Servlet,jsp,Filter等的软件环境。
1)可以来创建Servlet,并调用Servlet的相关生命周期方法
2)Jsp,Filter,Listener,Tag。。。


4 servlet生命周期的方法
1)构造器:第一次请求Servlet时,创建Servlet的实例,调用构造器
这说明Servlet时单实例的
2) init方法:只被调用一次,在创建好实例后立即被调用。用于初始化当前Servlet
3)service:被多次调用 每次请求都会调用service方法实际用于相应请求的
4)destroy:只被调用一次,在当前Servlet所在的WEB应用被卸载前调用用于释放当前Servlet所占用的资源。


5 load-on-startup参数:
1)配置在servlet节点中:
<servlet>
 //Servlet注册的名字
  <servlet-name>secondServlet</servlet-name>
  //Servlet的全类名
  <servlet-class> com.briup.javaweb.SecondServlet</servlet-class>
 //可以指定Servlet被创建的时机
  <load-on-startup>-1</load-on-startup>
  </servlet>
 
 2)load-on-startup:可以指定Servlet被创建的时机 。若为负数,则在第一次请求时被创建
 若为0或正数,则在当前WEB应用被Servlet容器加载时创建实例,且数字越小越早被创建


 6 关于Servlet-mapping
 1)同一个Servlet可以被映射到多个URL上,即多个<servlet-mapping>元素的<servlet-name>子元素的设置值可以使同一个
 Servlet的注册名
 2)在Servlet映射到的URL中也可以使用*通配符,但是只能有两种固定的格式。
 <servlet-mapping>
   <servlet-name>secondServlet</servlet-name>
   <url-pattern>/*</url-pattern>
   </servlet-mapping>


   OR
<servlet-mapping>
   <servlet-name>secondServlet</servlet-name>
   <url-pattern>*.do</url-pattern>
   </servlet-mapping>
 
 注意:一下的既带/又带扩展名的不合法
 <servlet-mapping>
   <servlet-name>secondServlet</servlet-name>
   <url-pattern>/*.action</url-pattern>
   </servlet-mapping>
 
 7 ServletConfig:封装了Servlet的配置信息,并且可以获取ServletContext对象
 1)配置Servlet的初始化参数 且节点必须在load-on-startup 节点的前面 
 <servlet>
  <servlet-name>helloServlet</servlet-name>
  <servlet-class> com.briup.javaweb.HelloServlet</servlet-class>
  <init-param>
  <param-name>user</param-name>
  <param-value>root</param-value>
  </init-param>


  <init-param>
  <param-name>password</param-name>
  <param-value>1230</param-value>
  </init-param>


  <load-on-startup>3</load-on-startup>
  </servlet>
 2)获取初始化参数
 》getInitParameter(String name):获取指定参数名的初始化参数
 》getInitParameterNames():获取参数名组成的Enumeration对象
  String user=servletConfig.getInitParameter("user");
    System.out.println("user"+user);
    Enumeration<String> names=servletConfig.getInitParameterNames();
    while(names.hasMoreElements()){
    String name=names.nextElement();
String value=servletConfig.getInitParameter(name);
System.out.println("^"+name+":"+value);
}

}


3)获取Servlet的配置名称
String servletName=servletConfig.getServletName();
System.out.println(servletName);


8 ServletContext
1)可以由ServletConfig获取
ServletContext servletContext=servletConfig.getServletContext();


2)该对象代表当前WEB应用:可以认为ServletContext是当前WEB应用的一个大管家
可以从中获取到当前WEB应用的各个方面的信息。
①获取当前WEB应用的初始化参数


设置初始化参数:可以为所有的Servlet所获取,而Servlet的初始化参数只用那个Servlet可以获取
<context-param>
  <param-name>driver</param-name>
  <param-value>com.mysql.jdbc.Driver</param-value>
  </context-param>


  方法:
  getInitParameter
  getInitParameterNames
  代码:
  ServletContext servletContext=servletConfig.getServletContext();

String driver=servletContext.getInitParameter("driver");
System.out.println("driver:"+driver);

Enumeration<String> names2=servletContext.getInitParameterNames();
while(names2.hasMoreElements()){
String name=names2.nextElement();
System.out.println("-->"+name);
}

②获取当前WEB应用的某一个文件在服务器上的绝对路径,而不是部署的路径
getRealPath(String path)
String realPath=servletContext.getRealPath("/nate.txt");
System.out.println(realPath);


③ 获取当前WEB应用的名称:
getContextPath
String contextPath=servletContext.getContextPath();
System.out.println(contextPath);
 
④获取当前WEB应用的某一个文件对应的输入流
getResourceAsStream(String path):path的/为当前的WEB应用的根目录。
InputStream is2=servletContext.getResourceAsStream("/WEB-INF/classes/jdbc.properties");


⑤ 和attribute相关的几个方法

Servlet入门之HelloWorld

Servlet入门之HelloWorld 一、环境准备 1.下载并安装Tomcat。 apache-tomcat-7.0.64-windows-i64.zip 2.设置...
  • showbaba3
  • showbaba3
  • 2015-10-03 17:24:08
  • 804

Servlet的HelloWorld实例(使用MyEclipse 6.5)

打开MyEclipse 1.新建Web Project,打开如图的对话框。设置工程的名字,选择JavaEE 5.0.然后Finish完成 2.对左边栏你建立的WebProject点...
  • yd_shaye
  • yd_shaye
  • 2014-02-17 22:58:57
  • 795

初次使用servlet写HelloWorld

自己是一名学习软件工程的大学生,在大二上学期,本人第一次接触JSP,第一堂课就是用servlet写了一个HelloWorld 首先,我用的是Myeclipse集成开发工具,先创建了一个web工程...
  • s896500398
  • s896500398
  • 2016-10-19 22:40:54
  • 819

HelloworldServlet

  • 2015年12月04日 14:32
  • 5KB
  • 下载

Servlet学习笔记_03_使用servlet编写一个简单的helloworld程序

servlet和http协议密切相关,这是servlet应用广泛的原因之一。 新建一个类,注意导入包。...
  • qq_23156791
  • qq_23156791
  • 2015-11-04 19:39:03
  • 1909

【初学servlet】helloworld学习 一

一、前期准备 tomcat版本:apache-tomcat-7.0.23-windows-x86.zip 下载地址:http://tomcat.apache.org/download-70...
  • xuexin8625
  • xuexin8625
  • 2012-10-28 17:08:21
  • 7092

servlet创建HelloWorld

本人使用的是J2EE版本的eclipse,这里不介绍如何安装Eclipse或者Tomcat,直接介绍如何创建第一个servlet应用程序。 第一步: File--->new-->others;选择...
  • u012919352
  • u012919352
  • 2016-12-01 17:41:09
  • 603

Servlet 实例hello world

Servlet 是服务 HTTP 请求并实现 javax.servlet.Servlet 接口的 Java 类。Web 应用程序开发人员通常编写 Servlet 来扩展 javax.servlet...
  • weiqubo
  • weiqubo
  • 2015-10-30 11:55:59
  • 621

Eclipse+Tomcat开发servlet的HelloWorld篇(摘)

Eclipse+Tomcat开发servlet的HelloWorld篇Eclipse+Tomcat集成开发servlet 最近在熟悉eclipse,一本书上有个HelloWorld,上面没写怎么发布s...
  • yuren913
  • yuren913
  • 2007-03-13 16:25:00
  • 2137

在Eclipse中用Maven创建Servlet实现输出Hello World

0.首先在确认你电脑配置好了jdk,安装好了Tomcat,maven和Eclipse,并且Eclipse中继承了Tomcat和Maven的插件     我的运行环境是:jdk(1.8),Tomcat是...
  • changerous
  • changerous
  • 2016-01-28 22:45:57
  • 3507
收藏助手
不良信息举报
您举报文章:Servlet的HelloWorld
举报原因:
原因补充:

(最多只允许输入30个字)