基于servlet网络编程

1.我们知道了基于http协议的网络编程模型和基于套接字的网路编程模型(相对于我的博客上写的),那么我们将使用更加便捷的servlet网络编程。

基于http协议的网络编程,我的博客上面需要我们自己写客户端,基于套接字的网络编程我的博客上面需要我们自己写客户端和服务器端,现在我们用servlet编程,不需要我们写客户端和服务器端,我们只需要在tomcat容器里写我们的处理程序就行,响应请求由tomcat来完成。

2.如何在tomcat上部署项目。打开tomcat文件,找到webapp文件里面的例子(既然我们需要tomcat来帮助我们响应请求,那么我们需要遵循tomcat中的规则)

一个web应用程序需要一个web-inf文件。web-inf中有三个文件不能少

除了web-inf,还需要有meta-inf文件(见hostmanager文件夹)

3.我们可以先直接在webapp文件夹下建立一个html文件,然后在浏览器端访问(尝试一下不用编写请求和回应请求的程序)

4.建立servlet程序。(servlet编程需要的api是javaee的api,我们可以在网上下载)

 1 import javax.servlet.http.HttpServlet;
 2 import javax.servlet.http.HttpServlet;import java.io.IOException;
 3 import java.io.*;
 4 import javax.servlet.http.HttpServletRequest;
 5 import javax.servlet.http.HttpServletResponse;
 6 public class httpservlet extends HttpServlet {
 7 
 8  protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException{
 9     PrintWriter out =resp.getWriter();
10     out.println("<html><head><head/><body><h1>hello<h1><body/><html/>");
11     out.flush();
12     out.close();
13 }
14   
15 
16 
17 
18 
19 
20 }

5.编译这段代码我们会发现报错,找不到类。因为javase的jdk不能满足javaee的类,我们要找的jar包可以在tomcatlib文件中找到。

6.将这个jar包配置环境

将这个jar包的绝对路径放入classpath中

将这个jar包复制粘贴到jdk-jre-lib-ext文件夹中

7.再有问题就是自己写的代码有错误了(这个问题很常见,我经常这样,以为环境配置错了,最后发现代码中少import了包)

8.建立web项目

Web-inf文件是

9.这时从浏览器找资源(用于测试一下)(web.xml需要写内容)

1 <?xml version="1.0" encoding="UTF-8"?>
2 <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
3   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4   xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
5                       http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
6   version="4.0"
7   metadata-complete="true">
8 
9 </web-app>

10.浏览器中输入

http://127.0.0.1:8080/myweb/test3.html 测试是否能用

11.找到我们编译好的class文件,放入我们建好的web项目的classes文件夹下面(tomcat自动帮我们调用)

 12.配置web-xml文件

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
 3   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4   xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
 5                       http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
 6   version="4.0"
 7   metadata-complete="true">
 8 
 9 
10 
11 <servlet>
12       <servlet-name>myservlet</servlet-name>
13       <servlet-class>httpservlet</servlet-class>
14     </servlet>
15 
16 
17 <servlet-mapping>
18         <servlet-name>myservlet</servlet-name>
19         <url-pattern>/happy</url-pattern>
20     </servlet-mapping>
21 </web-app>

13.则可以通过浏览器端访问http://127.0.0.1:8080/myweb/happy  ,就可以访问到我们在java文件中编写的html文件

 

14.那为什么不直接访问html文件呢,通过http://127.0.0.1:8080/myweb/test3.html,为什么要将页面写在我们编写的类里面呢。因为我们需要在客户访问页面之前做一些判断,如果将文件直接暴露出来让任何人都能使用,这就只是一种简单的垃圾存储了,没有任何的意思。所以servlet的意义就在于一种模型,能进行客户判断,选择合适的页面发送给客户。Web.xml文件的作用就在于tomcat不可能完全帮助我们来响应客户的请求,因为它不知道我们给客户什么,所以我们需要跟tomcat之间有信息交流,告诉tomcat它需要做什么,响应什么样的请求,还有我们是谁,什么时候去调用我们自己。

 

转载于:https://www.cnblogs.com/S-Mustard/p/7531639.html

目录 第1章 分布式Web应用程序 1. 1 分布式Web应用程序 1. 2 企业级n-层应用 1. 3 典型Web应用程序的处理过程 1. 3. 1 Web浏览器发送请求 1. 3. 2 执行服务器端程序 1. 3. 3 将结果运回给浏览器 1. 4 服务器端技术 1. 4. 1 各种服务器端技术的比较 1. 4. 2 基于Java解决方案的特点 第2章 Java Servlet简介 2. 1 Servlet生命周期 2. 2 Java Servlet API简介 2. 3 处理表单和返回数据的实例 2. 4 错误处理和日志记录 2. 4. 1 Java中的异常处理机制 2. 4. 2 在Java Servlet中处理异常 2. 4. 3 向浏览器发送标准的HTTP错误 2. 4. 4 服务器端日志记录 2. 5 Servlet在n-层结构中的作用 第3章 会话育理 3. 1 使用传统方法进行会话管理 3. 1. 1 URL Rewriting技术 3. 1. 2 隐藏表单域 3. 1. 3 Cookie功能 3. 2 使用Java Servlet API进行会话管理 3. 2. 1 HttpSession接口 3. 2. 2 管理会话数据 3. 2. 3 购物车实例 3. 2. 4 会话事件 第4章 生成图像 4. 1 HTTP协议中的MIME类型 4. 2 Servlet向客户端返回MIME类型 4. 3 在服务器瑞生成统计图形 4. 3. 1 产生图形 4. 3. 2 产生条形图 4. 3. 3 产生饼形图 4. 3. 4 将绘制的图形转化成JPEG格式 4. 3. 5 在服务器端产生条形图和饼形图的实例 第5章 Java Servlet中的网络编程 5. 1 Java套接字网络编程 5. 1. 1 InetAddress类 5. 1. 2 Socket类 5. 1. 3 给手机发送网上短信息 5. 2 Java网络编程中的高层类 5. 2. 1 URL类 5. 2. 2 URLConnection类 第6章 利用Servlet上传和下载文件 6. 1 得到HTTP请求消息的内容 6. 2 利用Servlet得到上传的文件 6. 2. 1 上传文件及表单域的请求实体的分析 6. 2. 2 得到上传文件的编程实例 6. 3 使用Servlet下载文件 6. 3. 1 相关的HTTP协议的规定 6. 3. 2 使用Servlet下载文件实例 第7章 在Servlet中使用数据库 7. 1 JDBC概述 7. 1. 1 JDBC驱动程序的类型 7. 1. 2 使用JDBC 7. 1. 3 使用JDBC的实例 7. 2 连接地 7. 2. 1 ConnectionPool对象 7. 2. 2 使连接池对所有Servlet可用 7. 2. 3 外罩连接池类 第8章 在数据库中存取图像 8. 1 在数据库中存入图像数据 8. 2 提取和显示图像信息 第9章 Servlet链 9. 1 编写Servlet链 9. 2 触发Servlet链 第10章 服务器端包含 10. 1 服务器端包含的编写 10. 2 服务器端包含的参数传递 10. 3 服务器端包含的实例 第11章 Applet和Servlet通信 11. 1 Applet和Servlet通信概述 11. 2 Applet和Servlet的网络通信 11. 2. 1 初识Applet和Servlet网络通信 11. 2. 2 Applet和Servlet之间传递对象 11. 3 Applet和Servlet之间实现远程方法调用 11. 3. 1 远程方法调用中的设计模式 11. 3. 2 设计应用程序子协议 11. 3. 3 远程方法调用的实例 第12章 在Servlet中发送和接收邮件 12. 1 电子邮件协议 12. 2 利用SMIP发送电子邮件 12. 2. 1 利用网络编程发送邮件 12. 2. 2 利用网络编程发送电子邮件的实例 12. 3 JavaMail API和电子邮件 12. 3. 1 配置JavaMail 12. 3. 2 JavaMail的结构 12. 3. 3 登录邮件服务器 12. 3. 4 在网页中显示邮件内容 12. 3. 5 利用JavaMail发送邮件 第13章 在Java Servlet中利用 RMI 13. 1 RMI概述 13. 2 RMI的实现 13. 2. 1 定义远程接口 13. 2. 2 实现远程对象 13. 2. 3 将远程对象绑定到RMI的名称空间 13. 2. 4 作为客户对象的Servlet 13. 2. 5 运行RMI 第14章 在Java Servlet中利用XML 14. 1 XML概述 14. 1. 1 DOM和SAX 14. 1. 2 良构的XML文档及验证实例 14. 1. 3 有效的XML文档及验证实例 14. 2 XML语法 14. 2. 1 XML文档部分 14. 2. 2 DTD 14. 3 XML应用实例 14. 3. 1 服务器端XML的生成 14. 3. 2 XML在客户端 第15章 实现Internet搜索引擎 15. 1 搜索引擎的原理 15. 2 搜索引擎的实现 15. 2. 1 数据库部分的实现 15. 2. 2 解析网页 15. 2. 3 在Internet上爬行 第16章 在Servlet中利用EJB 16. 1 EJB概述 16. 1. 1 EJB的开发过程 16. 1. 2 会话Bean和实体Bean 16. 2 会话Bean 16. 2. 1 定义宿主接口 16. 2. 2 定义远程接口 16. 2. 3 会话Bean类的实现 16. 2. 4 在网络中传送的可串行化的结果类 16. 2. 5 XML分配描述符 16. 2. 6 打包成jar文件 16. 2. 7 在服务器上配置EJB 16. 2. 8 从Servlet中调用EJB 附录A 超文本传输协议 A. 1 MIME A. 2 URI和URL A. 3 HTTP详解 A. 3. 1 建立TCP/IP连接 A. 3. 2 客户端发送请求 A. 3. 3 服务器返回响应 A. 3. 4 HTTP报头 附录B Servlet API
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值