1. 1 年少有为 李荣浩
  2. 2 我曾 隔壁老樊
  3. 3 关于孤独我想说的话 隔壁老樊
  4. 4 接下来如何 Hello Nico
  5. 5 起风了 买辣椒也用券
接下来如何 - Hello Nico
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.

Servlet入门

Tomcat与Servlet

一、B/S模式执行流程

二、请求与响应:
1、从浏览器发出送给服务器的数据包称为 “请求(request)”;
2、从服务器返回给浏览器的结果称为 “响应(response)”;
3、请求与响应必须要成对存在;

三、J2EE是什么:
1、J2EE(Java 2 Platform Enterprise Edition)是指 “Java 2 企业版”;
2、开发BS(Web)应用程序就是J2EE最核心的功能;
3、J2EE由13个功能模块组成:

  • J2EE(Java 2 Platform Enterprise Edition)是指Java2企业版
  • servlet——web服务器小程序
  • JSP——服务器页面
  • JDBC——数据库交互模块
  • XML——XML交互模块
  • EJB ——企业级Java Bean
  • RMI——远程调用
  • JNDI——目录服务
  • JMS——消息服务
  • JTA——事务管理
  • JavaMail——发送/接受Email
  • JAF——安全框架
  • CORBA——CORBA集成
  • JTS——CORBA事务监控

三、Apache Tomcat:
1、Tomcat 是Apache软件基金会旗下一款免费的开放源代码的Web应用服务器程序;
四、J2EE与Tomcat的关系:
1、J2EE 是一组技术规范与指南,具体实现由软件厂商决定;
2、Tomcat是J2EE Web(Servlet与JSP)标准的实现者;
3、J2SE 是J2EE 运行的基石,运行Tomcat 离不开J2SE;

五、Servlet:
1、Servlet(Server Applet)服务器小程序,主要功能用于生成动态Web内容;
2、servlet 是 J2EE 最重要的组成部分,也是学习的重点;

第一个Servlet

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package me.feihong.servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class FirstServlet extends HttpServlet{

@Override
protected void service(HttpServletRequest request, HttpServletResponse respone) throws ServletException, IOException {
//接收请求发来的参数
String name=request.getParameter("name");
String html="<h1 style='color:red'>hi,"+name+"!</h1><hr/>";
PrintWriter out=respone.getWriter();
out.println(html);//将html发送回浏览器

// super.service(request, respone);
}

}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?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_4_0.xsd" id="WebApp_ID" version="4.0">
<display-name>FirstServlet</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>
<!-- servlet的别名 -->
<servlet-name>first</servlet-name>
<servlet-class>me.feihong.servlet.FirstServlet</servlet-class>
</servlet>
<!-- 将Servlet与URL绑定 -->
<servlet-mapping>
<servlet-name>first</servlet-name>
<url-pattern>/hi</url-pattern>
</servlet-mapping>
</web-app>

Java Web标准工程结构

Servlet开发与基本配置

1、创建Servlet类,继承HttpServlet;
2、重写servlet方法,编写程序代码 ,servlet();
3、配置web.xml ,绑定URL;

二、Servlet访问方法:
1、格式:
http://IP地址:端口/context-path/url-mapping
2、远程访问使用IP地址,本地访问localhost(172.0.0.1)
3、context-path成为“上下文路径”,默认为工程名;

Get与Post请求

一、Get 和 Post 请求方法:
1、Get方式是将数据通过在 URL 附加数据显性向服务器发送数据。
1) http:// localhost:8080/FirstServlet/sapmle?name=zhangsan
2、 Post 方法会将数据存放在“请求体” 中隐性向服务器发送数据;
1)http://localhost:8080/FirstServlet/sample
2)请求体 :name = zhangsan
二、Get 与 Post 处理方法:
1、所以请求无差别处理:service() 方法;
2、Get请求 :doGet()方法;
3、Post请求:doPost()方法;
三、 Get与Post应用场景:
1、Get 常用于不包含敏感信息的查询功能:
如:客户登录的时候就不能用Get方法,因为它会把客户登录信息原封不动的显示出来;
2、Post 用于安全性要求较高的功能或服务器的“写” 操作:
如:1)用户名登录
2)用户注册
3)更新公司账目;

Servlet生命周期

1、装载 : web.xml tomcat解析XML,知道Servlet存在;
2、创建 : 创建servlet对象,执行构造函数;
3、初始化 : 调用init()方法;
4、提供服务: service(),doGET,doPOST;
5、销毁 : Servlet关闭或重启时执行:destory()方法;
注:对于每一个servlet,有且只有唯一的对象提供服务,绝不会出现多个对象的情况。

注解简化配置

1
2
3
4
5
利用注解简化配置;
Servlet的核心注解:@WebServlet.
可以将@WebServlet写在Servlet 类上面并自定义映射地址如(“/anno”)。。。示例如下:

在Servlet 类的上面写上@WebServlet("/anno") 这是可以啦

启动时加载Servlet

1
2
3
4
1、在 Web.xml 使用 <load-on-startup> 设置启动加载;
2、<load-on-startup> 0~9999</load-on-startup> 0:最先执行的;9999:最后执行的;
3、启动时加载在工作中常用于系统的预处理;
注:使用注解时,如果写了loadOnStartup=? 的时候必须在前面加一个URL 映射地址 urlPatterns="/?" 才能生效;

-------------本文结束感谢您的阅读-------------
来发评论吧~
Powered By Valine
v1.5.2