1. Servlet:一个Servlet就是一个标准的服务器端应用程序,它可以执行商务逻辑处理HTTP的访问请求。
(1)servlet是运行在服务器端的小型应用程序
(2)需要web容器的支持
(3)java编写
结构:
2. Servlet是基于Request—Response的结构,在服务器端server运行的小的应用程序,可以执行电子商务逻辑通过HTTP协议经浏览器返回。
3. Servlet的编写是基于设计模式中的模板方法模式,只要实现java中的接口javax.servlet.Servlet;javax.servlet.GenicServlet;javax.servlet.http;
4. Servlet处理流程
(1)客户端使用浏览器提交对Servlet调用的Get或者Post,其中Get通常体现在地址栏输入地址或者链接,Post通常体现在通过表单(表单的提交方法使Post);
(2)服务器接收到该请求后,如果该servlet是第一次被调用,则会实例化一个servlet对象;
(3)服务器调用该servlet对象的service()方法;
(4)Servlet产生动态的恢复内容;
(5)服务器发送恢复内容给客户端的浏览器;
5. 手动编写Servlet的步骤
(1)编写Servlet源程序;
(2)建立Web应用程序目录;
(3)编写web.xml文件;
(4)运行Servlet;
6. 手动编写Servlet之实例—采用tomcat服务器
(1)在E:\projects\javaWeb目录(目录自选)下”新建“一个java类文件命名为:HelloServlet.java,编写该servlet源程序
package com.servlet.hello;
import javax.servlet.http.*;
//import javax.servlet.HttpServlet;//两种方式程序编译效率一样
import javax.servlet.*;
import java.io.*;
import java.util.*;
public class HelloServlet extends HttpServlet{
public void doGet(HttpServletRequest request,
HttpServletResponse response) throws
ServletException,IOException {
//设定返回的内容的类型
response.setContentType("text/html;charset=utf-8");
//输出动态内容,这个out对象输出的内容都是输出到浏览器
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>my first servlet.</title>");
out.println("<body>");
out.println(new Date());
out.println("<br>");
out.println("Welcome to my first Servlet!");
out.println("</body>");
out.println("</html>");
out.flush();
out.close();//关闭
}
public void doPost(HttpServletRequest request,
HttpServletResponse response) throws
ServletException,IOException {
doGet(request,response);//处理和doGet()方法一样。
}
}
(2)运行该servlet,在dos命令下(运行cmd),输入如下命令:
说明,因为该HelloServlet.java 是包含在包com.servlet.hello中的所以命令中使用 -d ,又因为该类中引用了servlet API,所以需要将该资源所在位置添加引用,该资源在服务器tomcat中存在,则引用该servlet-api.jar的路径。运行后出现上图所示,则表示该Servlet运行成功。
(3)建立Web应用程序目录,由于Servlet对于Web应用程序结构要求非常严谨,所以目录结构的建立需要特别注意,首先在某一位置(任意)新建hello文件夹,然后在该文件夹内部新建WEB-INF(必须是这个文件名)文件夹,然后在WEB-INF内部新建classes和lib两个文件夹和web.xml文件。结构如图:(其中web.xml.bak是自动生成的)
结构建立完成后则可以编写web.xml文件了,代码如下:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>com.servlet.hello.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello.html</url-pattern>
</servlet-mapping>
</web-app>
代码说明:在该web.xml中,链接地址/hello.html是任意的,可以直接写hello、hello/hello等等。
4. 以上步骤完成后,即可梳理整个Servlet程序,首先将HelloServlet源程序运行成功后生成的文件夹com(位于E:\projects\javaWeb下)移动或复制到刚刚新建的hello/WEB-INF/classes/下,然后将整个hello文件夹移动或者复制到本机tomcat下的webapps文件夹下面(我的所在D:\SoftwareFiles\tomcat6\webapps),这样整个过程就算完成了。
5. 下面开始验证该HelloServlet,开启你的tomcat服务器,成功后,在浏览器中输入网址http://localhost:8080/hello/hello.html (其中第一个hello是servlet-name,第二个是url-pattern),即会出现:
这样即表示本次手写的Servlet可以正确运行,即大功告成了。
分享到:
相关推荐
JavaWeb核心之Servlet。 案例一、完成用户登录功能 案例二、记录成功登录系统的人次。 实现步骤: 1)创建类实现Servlet接口 2)覆盖尚未实现的方法---service方法 3)在web.xml进行servlet的配置 但在实际开发中,...
JavaWeb06-Servlet.rar JavaWeb07-javaWeb模式.rar JavaWeb08-DBUtil.rar JavaWeb09-EL与JSTL.rar JavaWeb10-分页应用.rar JavaWeb11-图片验证码.rar JavaWeb12-文件上传.rar JavaWeb13-过滤器与监听器.rar
本项目是基于Java的JavaWeb学习之Servlet设计源码,共有40个文件,包括15个XML文件、12个Java文件等。系统旨在为学习JavaWeb的学生提供一个Servlet的实践平台,涵盖了Servlet的基本概念和应用场景。项目的设计注重...
传智播客的Javaweb课程里的Servlet部分的ppt内容
javaWEB servlet版 图书商城demo,适合javaWEB有一定基础
基于javaWeb原生servlet开发的网盘项目源码(期末大作业).zip基于javaWeb原生servlet开发的网盘项目源码(期末大作业).zip基于javaWeb原生servlet开发的网盘项目源码(期末大作业).zip基于javaWeb原生servlet开发的网盘...
Javaweb解决webServlet报错的方法
使用javaweb servlet 实现 文件上传的功能。
Javaweb 开发中关于servlet的PPT
传智播客--佟刚--JavaWEB开发-Servlet 配套课程所用的PPT
javaweb 结合了servlet mysql Java Web,是用Java技术来解决相关web互联网领域的技术总和。web包括:web服务器和web客户端两部分。Java在客户端的应用有java applet,不过使用得很少,Java在服务器端的应用非常的...
JavaWeb笔记08Servlet中get和post区别.pdf
基于JavaWeb Servlet+JSP+MYSQL+Bootstrap 文章管理系统 基于JavaWeb Servlet+JSP+MYSQL+Bootstrap 文章管理系统 基于JavaWeb Servlet+JSP+MYSQL+Bootstrap 文章管理系统 基于JavaWeb Servlet+JSP+MYSQL+Bootstrap ...
javaweb项目是由jsp+servlet+mysql技术所写的,项目里面有创建表的sql文件,功能包括了完整的对用户的添加,修改,删除,查询整表,等技术,很适合基础学习,项目目录层次清晰,可在基础上继续添加新的功能,希望...
很久之前学习的时候写的,现在已经没有什么必要下载了。
基于 Servlet+jsp+mysql 开发 javaWeb 学生宿舍管理系统基于 Servlet+jsp+mysql 开发 javaWeb 学生宿舍管理系统基于 Servlet+jsp+mysql 开发 javaWeb 学生宿舍管理系统基于 Servlet+jsp+mysql 开发 javaWeb 学生宿舍...
全面介绍javaweb的三大组件之一servlet,图文并茂,适合初学者,也适合有一定基础的学习者进阶!
基于javaweb(jsp+servlet)开发的新闻发布系统(含数据库文件).zip 计算机专业,软件工程专业,通信工程大学生课程设计 自己大三的时候写的 适合大家做课程设计,写毕业设计也可以参考 基于javaweb的课程设计
教学在线留言答疑系统,JavaWeb基础,servlet jsp filter,原生jdbc