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");
}