JavaWeb之Servlet入门


JavaWeb基本概念

JavaWeb:是用Java技术来解决相关web(Web就是在Http协议基础之上, 利用浏览器进行访问的网站)互联网领域的技术总和

一、servlet与servlet容器

Java Servlet(Java服务器小程序)是一个基于Java技术的Web组件,运行在服务器端,它由Servlet容器所管理,用于生成动态的内容(即 运行在服务器端以多线程的方式处理客户端请求的小程序)。
Servlet容器也叫做Servlet引擎,是Web服务器或应用程序服务器的一部分,Servlet没有main方法,不能独立运行,它必须被部署到Servlet容器中,由容器来实例化和调用 Servlet的方法(如doGet()和doPost()),Servlet容器在Servlet的生命周期内包容和管理Servlet。管理和运行Servlet/JSP的容器也称为Web容器


具体的Servlet容器的产品:Tomcat,JBoss,WebSphere,WebLogic 等等
dynamic web module和对应的Tomcat 版本
     dynamic web module 2.4  对应Tomcat 5.5
     dynamic web module 2.5  对应Tomcat 6.0
     dynamic web module 3.0 对应Tomcat 7.0
     dynamic web module 3.1 对应Tomcat 8.0-9.0

Servlet可以完成以下功能:
1、创建并返回客户请求的动态HTML页面
2、创建可以嵌入到 HTML页面的HTML片段
3、与其他服务器(如数据库或基于Java的应用程序)进行通信

二、第一个Servlet程序

1、新建一个dynamic web project 动态的JavaWeb项目

      JavaWeb项目目录结构

      

2、新建一个LifeServelt 类

1)Servlet的含义:运行在服务器端的以多线程的方式处理客户端请求的小程序
2)创建servlet的方式
      implements Servlet或者是extends GenericServlet或者是extends HttpServlet 项目中建议使用extends HttpServlet 重写doget和dopost方法

(1)  implements Servlet

public class LifeServelt implements Servlet{

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

	@Override
	public ServletConfig getServletConfig() {
		return null;
	}

	@Override
	public String getServletInfo() {
		return null;
	}

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

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

}

(2) extends GenericServlet

public class LifeServelt extends GenericServlet{
	@Override
	public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
		System.out.println("GenericServlet");
	}
}

3、在web.xml中进行配置

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>myservlet</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  
   <!-- 
  	1.注册servlet
  		servlet-name的值是可以自定义的
  		servlet-class 包名加上类名
   -->
  <servlet>
  	<servlet-name>LifeServelt</servlet-name>
  	<servlet-class>cn.jq.myservlet.LifeServelt</servlet-class>
  </servlet>
  <!-- 
  	2.给已注册的servlet,映射一个url地址
  		servlet-name的值和servlet标签中的servlet-name值一致
  		url-pattern:servlet的访问方式 是可以自定义的
   -->
  <servlet-mapping>
  	<servlet-name>LifeServelt</servlet-name>
  	<url-pattern>/LifeServelt</url-pattern>
  </servlet-mapping>
  
</web-app>

4、项目发布到服务器上

     浏览器访问:http://127.0.0.1:8080/myservlet/LifeServelt   ,stop 服务器

     

     

猜你喜欢

转载自blog.csdn.net/qq_42402854/article/details/85011818