Java知识点整理--Servlet

Java知识点整理–Servlet

Apache Tomcat

  • Tomcat是Apache旗下的一款免费的WEB应用程序服务器.
  • J2EE是一组技术规范和指南,具体实现由软件厂商决定.
  • Tomcat是J2EE Web(Servlet 与JSP)标准的实现者.
  • J2SE还是J2EE运行的基石,运行Tomcat离不开J2SE

Servlet

  • Servlet(Server Applet)服务器小程序,用于动态生成动态Web内容.
  • Servlet是J2EE最重要的组成部分.
  • Tomcat -对应服务器; Servlet - 对应服务器处理程序

Eclipse配置Tomcat环境

  • 打开服务器配置界面(或从Pereference-Server-Runtime Environment进入)
    在这里插入图片描述
  • 选择对应的Tomcat版本
    在这里插入图片描述
  • 设置Tomcat程序目录及jre环境
    在这里插入图片描述
  • 双击配置好的服务器进行详细配置(默认将WEB项目发布至Tomcat安装目录的webapps目录下)
    在这里插入图片描述
  • 若安装的为解压版Tomcat,启动时可能会报"java.lang.IllegalStateException: 无输出目录"的错误,原因为安装文件夹无写入权限,修改Tomcat安装目录权限即可.

第一个Servlet

  • 新建WEB项目
    在这里插入图片描述
  • 勾选自动生成WEB.xml
    在这里插入图片描述
  • web.xml
<!-- 声明servlet -->
  <servlet>
  	<!-- servlet别名 -->
  	<servlet-name>first</servlet-name>
  	<servlet-class>com.lgw.FirstServlet</servlet-class>
  </servlet>
  <!-- 将servlet与Url绑定 -->
  <servlet-mapping>
  	<servlet-name>first</servlet-name>
  	<url-pattern>/hi</url-pattern>
  </servlet-mapping>
  • servlet处理类
package com.lgw;

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

import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;

public class FirstServlet extends HttpServlet {

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

}

标准的Java Web工程结构

组织结构描述
tomcat安装目录/webapps存放Tomcat应用的根目录
web应用目录java web应用目录,一般目录名称即为项目工程名
web应用目录/index.html|.jsp默认首页
WEB-INFweb应用安全目录,用于存放配置文件,相关的类,jar包等
WEB-INF/web.xml部署描述符文件,是该web项目的核心配置文件
WEB-INF/classes存放编译后的classes文件
WEB-INF/lib存放web应用依赖的jar文件
META-INF/MANIFEST.MF包含web应用的版本等信息

Servlet详细开发步骤

  • 创建Servlet类,继承HttpServlet
  • 重写service方法,编写程序代码
  • 配置web.xml,绑定URL
  • 浏览器访问路径
    http://IP地址:端口/context-path/url-mapping
    本地IP也可以使用localhost
    context-path为上下文路径,默认为工程名
  • 请求参数
    请求参数是指浏览器通过请求向Tomcat提交的数据
    请求参数通常是用户输入的数据,待Servlet进行处理
    request.getParameter() - 接受单个参数
    request.getParameterValues() - 接受多个同名参数
  • Get与Post请求方法区别
    Get是将数据通过在URL附加数据显式向服务器发送数据
    例如:http://localhost:8080/FirstServlet/sample?name=lisi
    Post方式会将数据存放在请求体中隐性向服务器发送数据
    http://localhost:8080/FirstServlet/sample
    请求体:name=lisi
    Tips:service()方法对Get和Post无差别处理.要想分开处理,可以替换成 Get请求 - doGet()方法;Post请求 - doPost()方法.

Servlet生命周期

  • 装载 - web.xml
  • 创造 - 构造函数
  • 初始化 - init()
  • 提供服务 - service()
  • 销毁 - destroy()

使用注解简化Servlet配置

  • 使用注解,可以不用再往web.xml里写servlet类对应的映射配置
    格式:@WebServlet("/anno")

启动时加载Servlet

  • web.xml使用<load-on-startup>设置启动加载
  • <load-on-startup>0-9999</load-on-startup>,数字越小优先权越高
  • 启动时加载常用于系统的预加载
  • Tips:使用注解配置某个Servlet类启动时加载时,@WebServlet(urlpattern = “/unused”,loadOnStartup = 0-9999),其中urlpattern无实际作用,但也必须设置.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值