JavaWeb(Servlet编程)第一章

一,Servlet概述

1. 定义:Java服务器小程序
 使用Java语言编写
 符合Servlet规范
 由服务器端调用、执行
2. 优点:
 可移植性:延续Java的跨平台性
 性能:其对象实体一直驻留在内存中,利用多线程处理相同服务的请求
 安全性:延续Java的类型检查,垃圾回收等特性

二,Xml概述

 1.什么是XML
 XML即为可扩展的标记语言(eXtensible Markup Language)
 XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识
 2.用途
 配置文件
 数据存储

三,编写第一个Servlet

1. 编写Servlet源程序
 新建项目,导入Servlet的jar包
 继承HttpServlet类,重写doGet()方法
2. 在Tomcat中部署此Servlet
 建立web应用目录
 新建项目文件夹hello,在hello文件夹中建立文件夹WEB-INF
 将classes文件夹拷贝到WEB-INF文件夹
 将使用的jar包(lib)拷贝到WEB-INF文件夹
 配置web.xml文件
<servlet>
<servlet-name>first</servlet-name> servlet名称
<servlet-class>com.haina.FirstServlet</servlet-class>包名+类名
</servlet>
<servlet-mapping>
<servlet-name>first</servlet-name> servlet名称
<url-pattern>/abc</url-pattern> web访问路径
</servlet-mapping>
3. 运行Servlet:http://localhost:8080/abc
案例:FirstServlet.java
 

package com.haina.web;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

//想要实现Servlet的功能,需要继承HttpServlet
//HttpServlet这个类是servlet-api.jar提供的
public class FirstServlet extends HttpServlet {


    //重写父类方法的快捷键   CTRL+O
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html;charset=UTF-8");
        PrintWriter writer=resp.getWriter();
        writer.println("<html>");
        writer.println("<head><title>servlet页面</title></head>");
        writer.println("<body>");
        writer.println("<h1>测试一下servlet</h1>");
        writer.println("</body>");
        writer.println("</html>");
        writer.flush();
    }
}

在web-inf文件夹中的xml文件中编写下面的代码

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">

    <servlet>
        <servlet-name>first</servlet-name>
        <servlet-class>com.haina.web.FirstServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>first</servlet-name>
<!--        url-pattern的值必须以斜杠开头-->
<!--        url-pattern的值必须以斜杠开头-->
<!--        url-pattern的值必须以斜杠开头-->
        <url-pattern>/abc</url-pattern>
    </servlet-mapping>
    
    
</web-app>

使用tomcat运行,在网址输入<url-pattern>中的内容,不用打/奥,

四,Servlet体系结构

实现Servlet的三种方式:
 实现Servlet接口
 继承GenericServlet抽象类
 继承HttpServlet抽象类

五,doGet()和doPost()方法

1. doGet()方法
 处理HTTP协议中的GET请求
 在地址栏中显示,速度较快
 只有一个流,参数附加在url后,大小个数有严格限制(2k)且只能是字符串
 public void doGet(HttpServletRequest req, HttpServletResponse res)throws ServletException, IOException
2. doPost()方法
 处理HTTP协议中的POST请求
 在header中传输,速度较慢
 可以用不同的流传递参数而不是url,可以传递二进制数据如文件的上传,长度基本可视为无限制(建议小于64k)
 public void doPost(HttpServletRequest req, HttpServletResponse res)throws ServletException,IOException
3. HttpServletRequest类型对象提供有关请求的信息
4. HttpServletResponse类型对象提供有关响应的信息
5. 一般只在一个方法中加入逻辑,另一个方法调用此方法



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值