Servlet

目录

一、概述

二、准备工作

-1.在IDEA里创建一个web工程

-2.整理web工程目录结构

-3.修改资源输出位置 

 -4.修改jar包存放位置

-5.配置Tomcat服务器

 三、注解方式开发Servlet程序

-1.创建新的web工程,创建Servlet

 -2.访问Servlet

四、配置方式开发Servlet程序

–1,创建Servlet类

–2,配置Servlet类

–3,测试

-4.写个HTML网页测试也可以的

–5,总结

五、Servlet的继承结构

六、Servlet的生命周期 

init() 方法

service() 方法

doGet() 方法

doPost() 方法

destroy() 方法

七、Request

-1.概述

-2. 常用的方法:

八.请求转发 

–1,概述

–2,测试

–3,总结

九.模拟Servlet解析请求参数

十.Servlet 解析post方式提交的数据

–1,测试

–2,前端HTML页面 

十一.综合案例

-1.需求

-2.导包:

-3.创建HTML网页

 -4.创建DeptServlet类

 5.总结

十二. 响应Response

–1,概述

 –2,测试

十三,重定向

–1,概述

–2,测试


一、概述

Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成 动态Web内容。这个过程为:
1,客户端发送请求至服务器端
2,服务器将请求信息发送至 Servlet
3,Servlet 生成响应内容并将其传给服务器。响应内容动态生成,通常取决于客户端的请求
4,服务器将响应返回给客户端
Servlet 看起来像是通常的 Java 程序。Servlet 需要导入特定的属于 Java Servlet API 的包。

二、准备工作


-1.在IDEA里创建一个web工程

1,File- New- Project- 选择Java Enterprise并在右侧勾选Web Application(web.xml)- 输入工程名称-Finish
2,需要下载IDEA的童鞋,可以访问网址:http://doc.canglaoshi.org/
去找到[常用下载] ,
下载[IntelliJ IDEA Ultimate 终极版 Windows 官网下载 百度云盘 密码:125m]

-2.整理web工程目录结构

在WEB-INF里,创建两个文件夹classes 和 lib

-3.修改资源输出位置 

 -4.修改jar包存放位置

-5.配置Tomcat服务器

详情可见Tomcat服务器的内容

 三、注解方式开发Servlet程序

-1.创建新的web工程,创建Servlet

选中src-右键-New-Create New Servlet-输入Servlet类的名字和包名-ok

package cn.tedu.servlet;

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

/*1.这是新版本的Servlet提供的注解开发方式,更好更简单,否则自己写配置文件
*参数是,规定了浏览器的地址栏到底怎么写才能访问到我这个Servlet类*/
@WebServlet("/ServletDemo1")
/*2.ServletDemo1 是子类,可以使用父类的所有资源(除了私有的,构造方法)
* 3.Servlet规定了自定义Servlet的规则:
* 方式一:extends HttpServlet--推荐使用
* 方式二:extends GenericServlet--了解
* 方式三:implements Servlet--了解
*/
public class ServletDemo1 extends HttpServlet {
    /*4.继承了父类,但是想改父类原有的功能时,就重写
    * 5.不论调用doPost()还是doGet(),都是由Servlet来调用的
    * 6.当用户用post方式提交请求时(form表单提交),Servlet来调用doPost()*/
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("欢迎来到servlet");
        response.getWriter().write("hello servlet!!");
    }
    /*6.当用户用get方式提交请求时(form表单提交),Servlet来调用doGet()
    * (在地址栏拼接数据 + form没改method的值)*/
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request,response);
    }
}

 -2.访问Servlet

运行Tomcat进行测试:

http://localhost:8080/cgb2109javaweb_war_exploded/ServletDemo1

四、配置方式开发Servlet程序

–1,创建Servlet类

package cn.tedu.servlet;

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

//使用配置方式开发Servlet程序
public class ServletDemo2 extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("doPost()成功的被Servlet调用!");
    }
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //默认执行doGet()方法,只有form表单调用doPost(),doPost才会执行
        System.out.println("doGet()成功的被Servlet调用!");
    }
}

–2,配置Servlet类

<?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>
        <!--给Servlet设置一个名字(一般和类名相同)
        细则:名字可以自定义,但是必须唯一,不能和别的servlet的名字相同-->
        <servlet-name>ServletDemo2</servlet-name>
        <!--指定Servlet类的全路径(包名.类名)-->
        <servlet-class>cn.tedu.servlet.ServletDemo2</servlet-class>
    </servlet>
    <!--指定浏览器的访问规则-->
    <servlet-mapping>
        <!--即将根据指定的名字,去找到一个要被访问的Servlet类-->
        <servlet-name>ServletDemo2</servlet-name>
        <!--指定了浏览器的访问方式 ,
        细则:值可以自定义,但是浏览器必须是一样的写法才能访问Servlet
        否则404:找不到你要访问的资源-->
        <url-pattern>/ServletDemo2</url-pattern>
    </servlet-mapping>
</web-app>

–3,测试

http://localhost:8090/cgb2109javaweb03_war_exploded/ServletDemo2

-4.写个HTML网页测试也可以的

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>前后端 安排起来</title>
	</head>
	<body>
		<!-- 点击超链接跳转到Servlet -->
		<a href="http://localhost:8090/cgb2109javaweb03_war_exploded/ServletDemo3">点我,访问Servlet</a>
		
	</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值