• JavaWeb学习(11):Servlet 及 Servlet2.5 和 Servlet3.0 的区别


    饭前点心:

    通过 MVC 模式我们知道 Servlet 在其中扮演控制器(分发器)的作用,那什么是 Servlet,
    它又是怎么运用呢?不同版本之间又有那些区别呢?希望通过下面的讲述可以让你对 Servlet
    有一个更加清晰的认识。
    

    Servlet 类需要满足的要求:

    1、必须继承继承HttpServlet
    2、重写doGet()、doPost()方法
    3、编写web.xml 中的servlet映射关系
    

    Servlet 类实现的具体过程:

    纯手工方法创建第一个Servlet:

    index.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    		<!-- 超链接默认也是 get 提交方式 -->
    		<a href = "WelcomeServlet">WelcomeServlet</a>
    		
    		<form action="WelcomeServlet" method = "post">
    			<input type = "submit" value = "登录">
    			
    		</form>
    </body>
    </html>
    

    在 src 目录下创建 WelcomeServlet 类:

    package org.servlet;
    
    import java.io.IOException;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    public class WelcomeServlet extends HttpServlet{
    	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    		System.out.println("doget....");
    	}
    	@Override
    	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    		System.out.println("dopost....");
    	}
    }
    
    

    在 web.xml 中建立相应的映射关系:

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
      <display-name>ServletProject</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>
      
      
       <servlet>
      	<servlet-name>WelcomeServlet</servlet-name>
      	<servlet-class>org.servlet.WelcomeServlet</servlet-class>
      </servlet>
      
      <servlet-mapping>
      	<servlet-name>WelcomeServlet</servlet-name>
      	<!-- 根目录路径 -->
      	<url-pattern>/WelcomeServlet</url-pattern>
      </servlet-mapping>
      
     
    </web-app>
    

    借助于Eclipse快速生成Servlet(Servlet2.5)

    直接新建Servlet即可!(继承、重写、web.xml  可以借助Eclipse自动生成)
    

    步骤图效果:

    填入相应的类名即可:
    

    生成图如下:

    WelcomeServlet.java

    web.xml

    Servlet3.0

    会自动生成如下效果:

    servlet2.5 和 servlet 3.0 的区别:

    Servlet3.0不需要在web.xml中配置,但 需要在 Servlet类的定义处之上编写 注解@WebServlet("url-pattern的值") 
    匹配流程:  请求地址 与@WebServlet中的值 进行匹配,如果匹配成功 ,则说明 请求的就是该注解所对应的类
  • 相关阅读:
    codeforces 645C. Enduring Exodus
    test markdown
    codeforces 817C Really Big Numbers
    797C C. Minimal string
    ubuntu配置安卓开发环境记录
    常用网址
    Mysql/Oracle/达梦中数据字典表
    Hadoop0.20.2中MapReduce读取gb2312文件出现乱码问题
    凝思磐石4.2系统字符编码的修改
    hadoop学习(三)HDFS常用命令以及java操作HDFS
  • 原文地址:https://www.cnblogs.com/prjruckyone/p/12550684.html
Copyright © 2020-2023  润新知