【JavaEE学习笔记】Servlet_01_入门,简单的Servlet程序

本文介绍了Servlet的基本概念、作用及如何搭建一个简单的Servlet程序。通过创建Web项目、定义Java类实现Servlet接口、配置web.xml文件和部署项目等步骤,实现了Servlet的快速入门。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Servlet_01

A.概述

Servlet:运行在服务器端的小程序

定义了一个Java类,能被浏览器所访问的规则,其实就是一个接口

B.作用

接收请求,处理请求,响应请求

Servlet由服务器创建、管理、销毁,用户只是使用他

C.搭建一个Servlet小程序(快速入门)

1.创建Web项目

a.创建Web Project,填写工程名,点击Next


b.一直Next,直到出现如下图,将选项勾选,点击Finish


c.完成创建


2.定义java类,实现Servlet接口,重写里面的业务方法

在service方法里写个逻辑,快速入门,写一个简单的小程序

其他方法后面介绍


代码(注意:Servlet是部署在服务器上的,没有main方法)

package org.xxxx.servlet;

import java.io.IOException;

import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

// 实现Servlet接口
public class MyServlet implements Servlet {

	@Override
	public void destroy() {
		// TODO Auto-generated method stub

	}

	@Override
	public ServletConfig getServletConfig() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public String getServletInfo() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public void init(ServletConfig config) throws ServletException {
		// TODO Auto-generated method stub

	}

	// 核心方法,对外提供服务,每一次请求都会调用该方法
	@Override
	public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
		System.out.println("Hello World!");
	}

}

3.在web.xml里进行配置

<?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_3_1.xsd"
	id="WebApp_ID" version="3.1">
	<display-name>Servlet</display-name>
	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
	<!-- 以上是自动生成的代码,不用管 -->
	<!-- 定义一个servlet标签 -->
	<servlet>
		<!-- 给Servlet配一个别名 -->
		<servlet-name>mydemo</servlet-name>
		<!-- 配置Servlet的路径——全类名 -->
		<servlet-class>org.xxxx.servlet.MyServlet</servlet-class>
	</servlet>
	<!-- 配置一个映射 -->
	<servlet-mapping>
		<servlet-name>mydemo</servlet-name>
		<!-- 配置一个虚拟路径用来作为浏览器的访问资源路径 -->
		<!-- 格式:/路径名 -->
		<url-pattern>/demo</url-pattern>
	</servlet-mapping>
</web-app>

4.发布项目

a.在Servers栏右键tomcat--->Add/Remove Deployments...


b.选择要部署的工程,点击Add,将工程部署到服务器上点击finish


c.右键tomcat--->start,启动服务器,控制台没有异常,启动成功

5.请求Servlet

http://localhost:8080/Servlet/demo


观察控制台是否输出service中写的逻辑


6.停止服务器


D.重写Servlet中的方法详解

1.void init(SercletConfig arg0)

当Servlet被创建时调用,且只调用一次

一般在这个方法里,会对数据进行初始化

2.void service(ServletRequest arg0, ServletResponse arg1)

核心方法,对外提供服务,每一次请求(加载网页)会调用一次

3.void destroy()

当Servlet被销毁(关闭)时调用(正常关闭,而不是直接在控制台点击关闭)

4.ServletConfig getServletConfig()

获取配置对象的方法

5.String getServletInfo()

获取Servlet版本信息,作者信息等,一般不用

代码实现1,2,3

package org.xxxx.servlet;

import java.io.IOException;

import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

// 实现Servlet接口
public class MyServlet implements Servlet {

	// 当Servlet停止运行时,执行
	@Override
	public void destroy() {
		System.out.println("Servlet关闭!!!");
	}

	// 获取Servlet配置信息
	@Override
	public ServletConfig getServletConfig() {
		return null;
	}

	// 获取信息Servlet版本作者信息,一般不用
	@Override
	public String getServletInfo() {
		return null;
	}

	// Servlet被创建时调用,只调用一次,一般初始化数据
	@Override
	public void init(ServletConfig config) throws ServletException {
		System.out.println("Servlet开启!!!");
	}

	// 核心方法,对外提供服务,每一次请求都会调用该方法
	@Override
	public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
		System.out.println("Hello World!");
	}

}

a.部署项目,启动tomcat

b.请求服务器:http://localhost:8080/Servlet/demo(多刷新几次)


c.正常关闭服务器,不要在控制台关闭,观察控制台


一、课程设计内容 根据开发组的兴趣和知识,在下面的几类网站中选择一个,作为自己的课程设计。或者是完全自主创意。 ※ 电子政务类的网站,如政府类网站; ※ 社交类网站,如天涯论坛(http://bbs.tianya.cn/)那样的网站; ※ 生活类网站,如点评网(http://www.dianping.com/)那样的网站; ※ 兴趣类网站,如摄影、旅游、读书网等内容的网站。 课程设计倡导创新和创意,具体类型和业务内容自定,题目自拟。对于有新意的题目和设计,在给定成绩时会给予加分。 二、开发环境要求: (一)项目要求使用B/S结构,利用Java EE开发平台,实现一个B/S结构的分布式系统,并实现系统的各项功能,包括数据录入、修改、查询,交易过程等。 (二)要求使用JSF作为页面开发手段,请勿使用JSP页面。 (三)开发工具建议使用NetBeans或者Eclipse。 (四)建议使用Mysql作为数据库服务器,也可以使用JavaDB等其他数据库类产品作为数据库服务器。 三、性能要求: 项目应该至少实现以下的要求: (一)界面要求:页面设计不必过于复杂,仅需实现一定程度的外观显示效果,要有比较好的用户交互功能页面,系统工作页面,内容展示页面。要求界面简洁美观、操作使用便利、提交响应迅速、功能实现流畅。 (二)功能要求:系统有关实现一定程度的功能,如系统登录功能,信息检索功能等。软件系统的设计架构和功能必须独立设计,杜绝抄袭。 (三)数据库要求:要有必要的信息数据库,能够实现对系统信息的存储、检索、修改等;必要时要有普通的用户信息数据库。 (四)工作量要求:课程设计应该达到一定的工作量,不能过于简单。 (五)网站运行所需要的其他功能,可选。 (六)开发组提出的具有创意的功能和页面内容,可选。 系统的内容可以到网络上适当下载,不必太多。 四、考核办法: 课程设计采用分组开发的方式,三人为一个设计小组,全班30人共计分成10个小组。 考核以小组为单位进行评价,针对每个小组的项目进行评分,小组的项目评分成绩即为小组各成员的课程开发设计成绩,根据个人在项目开发过程中的工作占比,在小组成绩基础上适当上下调整,最后确定成员的课程开发设计成绩。 最后一次课的14:00开始,答辩和演示程序,每个小组不超过10分钟。 答辩结束之后,各个小组需提交完整的项目代码和设计报告的电子版,同时提交设计报告的纸质版作为学院的课程考核凭证材料存档。 各个小组必须独立完成项目的开发设计工作,严禁抄袭。对于小组之间代码雷同率较高的,或者涉嫌抄袭的,有关小组的项目成绩都将以0分计。 五、评分标准: 完成项目设计的全部功能,达到项目的基本要求,可以得到90分;项目的设计或者页面设计有精彩发挥之处,酌情加分;未完成全部功能的,酌情减分。 六、设计报告: 请按照《〈Java EE企业级应用技术〉课程设计报告》的模板,由各个小组的组长认真填写。报告至少应该包括模板所列的各个部分,不能删减;可以根据设计开发过程,增添必要的部分。报告在打印时使用现有的格式,不要加封面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值