javaWeb_Servlet_Servlet基础_Servlet概述以及HelloWorld


Servlet基础_Servlet概述以及helloworld

1.Servlet概述

(1).Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,
主要功能在于交互式地浏览和生成数据,生成动态Web内容等。

(2).Servlet是和平台无关的服务器端组件,它运行在Servlet容器中(如Tomcat,weblogic等)。Servlet容器负责Servlet和客户的通讯以调用Servlet的
相关方法,并且Servlet和客户端采用的是"请求/响应"的模式。


2.Servlet能够完成功能

(1).创建并返回基于客户端请求的动态html页面。

(2).创建能够嵌入页面中的部分html代码片段。(实现动态的数据返回)

(3).与其他的服务器资源通信,如数据库

 

3.Servlet的helloworld

(1).和一般的java应用程序不同,由于Servlet是运行在服务器端的组件,所以想要使用它,先得把服务器起起来。

(2).如何找到那你写的Servlet?
需要告诉服务器,找到你写的这一个Servlet的方式,有俩种实现:

A:在web.xml里面配置和映射该Servlet,代码实现如下:(只给出必要的代码段)
<!--配置-->
<servlet>
<!--servlet注册的名字-->
<servlet-name>HelloServlet</servlet-name>
<!--servlet全类名-->
<servlet-class>com.cn.servlet.HelloServlet</servlet-class>
</servlet>

<!--映射-->
<servlet-mapping>
<!--servlet需要和某一个Servlet节点名称一样-->
<servlet-name>HelloServlet</servlet-name>
<!--"/表示的是项目的根目录(http://localhost:8080/ServletTest/),这一个就是访问该Servlet的时候需要的url"-->
<url-pattern>/HelloServlet</url-pattern>
</servlet-mapping>


流程:url--->mapping-name--->servlet---->servlet-class



B: 在Servlet3.0以后,Servlet就开始支持注解。
@WebServlet(name="helloworld",urlPatterns={"/HelloServlet"})
public class HelloServlet implements Servlet{
}

(3).如何访问?
我们在配置和映射这一个Servlet的时候,给出了一个URL,那么我们要访问这一个Servlet应该是通过url访问它,那么一般通过URL访问
的模式是啥呢?网络链接的模式:http://localhost:8080/ServletTest/HelloServlet。我们通过浏览器直接访问的其实是一个java类

详解:localhost:本地,也可以理解为你现在使用的这一台计算机。
8080:端口号,Tomcat服务器的端口号
ServletTest/HelloServlet:项目以及你要访问的内容


(4).代码实现如下

@WebServlet(name="helloworld",urlPatterns={"/HelloServlet"})
public class HelloServlet implements Servlet{

//无参构造
public HelloServlet(){

}

@Override
public void destroy() {
System.out.println("method destory");

}

@Override
public ServletConfig getServletConfig() {
System.out.println("method getServletConfig");
return null;
}

@Override
public String getServletInfo() {
System.out.println("method getServletInfo");
return null;
}

@Override
public void init(ServletConfig arg0) throws ServletException {
System.out.println("method init");
}

@Override
public void service(ServletRequest arg0, ServletResponse arg1)
throws ServletException, IOException {
System.out.println("method service");

}

 

posted @ 2019-02-08 12:25  德墨特尔  阅读(299)  评论(0编辑  收藏  举报