1.1 静态资源和动态资源的区别

静态资源:当用户多次访问这个资源,资源的源代码永远不会改变的资源。

动态资源:当用户多次访问这个资源,资源的源代码可能会发送改变。

1.2动态资源的开发技术

Servlet: 用java语言来编写动态资源的开发技术。

Servlet特点:

1)普通的java类,继承HttpServlet类,覆盖(重写)doGet方法

2)Servlet类只能交给tomcat服务器运行!!!!(开发者自己不能运行!!!)

Servlet手动编写步骤:

1)编写一个servlet程序,继承HttpServlet

/**

*
第一个servlet程序

* @author APPle

*

*/

publicclassHelloServlet
extends HttpServlet{

@Override

protectedvoid doGet(HttpServletRequest req, HttpServletResponse resp)

throws ServletException, IOException {

//解决中文乱码问题

resp.setContentType("text/html;charset=utf-8");

//向浏览器输出内容

resp.getWriter().write("这是第一个servlet程序。当前时间为:"+new
Date());

}

}

2)找到HelloServlet类的class字节码,然后把整个包拷贝到tomcat的一个web应用中WEB-INF/classes目录下。

3)在当前web应用下的web.xml文件配置Servlet。

<!-- 配置一个servlet程序 -->

<servlet>

<!-- servlet的内部名称 ,可以自定义-->

<servlet-name>HelloServlet</servlet-name>

<!-- servlet类名: 包名+简单类名-->

<servlet-class>gz.itcast.d_servlet.HelloServlet</servlet-class>

</servlet>

<servlet-mapping>

<!-- servlet的内部名称,和上面的名称保持一致!!!-->

<servlet-name>HelloServlet</servlet-name>

<!-- servlet的访问名称: /名称 -->

<url-pattern>/hello</url-pattern>

</servlet-mapping>

4)启动tomcat服务器,运行访问

访问servlet: http://localhost:8080/myweb/ hello

服务器加载这个文件的过程是:首先根据http://localhost:8080/myweb/hello加载</servlet-mapping>里面的<url-pattern>/hello</url-pattern>,然后加载</servlet-mapping>里面的<servlet-name>HelloServlet</servlet-name>,此时再去<servlet>中找到对应的<servlet-name>HelloServlet</servlet-name>,再在<servlet>找到<servlet-class>gz.itcast.d_servlet.HelloServlet</servlet-class>来加载这个类。

手动开发动态资源之servlet初步的更多相关文章

  1. servlet基本原理(手动创建动态资源+工具开发动态资源)

    一.手动开发动态资源 1 静态资源和动态资源的区别 静态资源: 当用户多次访问这个资源,资源的源代码永远不会改变的资源. 动态资源:当用户多次访问这个资源,资源的源代码可能会发送改变. <scr ...

  2. java web开发入门一(servlet和jsp)基于eclispe

    servlet 用java语言开发动态资源网站的技术,在doGet方法中拼接显示html,在doPost方法中提交数据.类似于.net的ashx技术. servlet生成的class文件存放在tomc ...

  3. 在javaEE下学习web(在eclipse中开发动态的WEB工程,servlet的环境搭建,及servlet的一些方法)

    一个简便的方法实现javaee版的eclipse开发动态的WEB工程(javaWEB项目)1.把开发选项切换到javaEE2. 可以在window->shou view 中找到package e ...

  4. JavaWeb开发之详解Servlet及Servlet容器

    自JavaEE诞生伊始,Servlet容器和Servlet技术,就构成了JavaEE应用的核心,配合其它组件,它们完善了Java企业级开发的全套解决方案.小到一个静态博客网站,大到分布式的集群应用,都 ...

  5. java的servlet初步学习

    目录 1.servelet概念作用理解 ====来源于孤傲苍狼  http://www.cnblogs.com/xdp-gacl/p/3760336.html======= 2.servlet的运行过 ...

  6. Spark记录-Spark性能优化(开发、资源、数据、shuffle)

    开发调优篇 原则一:避免创建重复的RDD 通常来说,我们在开发一个Spark作业时,首先是基于某个数据源(比如Hive表或HDFS文件)创建一个初始的RDD:接着对这个RDD执行某个算子操作,然后得到 ...

  7. 使用Eclipse开发动态Javaweb项目

    使用Eclipse开发动态Javaweb项目 一.Eclipse的使用 1. 把开发选项切换到 JavaEE 2. 可以在 Window -> Show View 中找到 Package Exp ...

  8. zzy:请求静态资源和请求动态资源, src再次请求服务器资源

    [总结可以发起请求的阶段:请求动态资源:通过web.xml匹配action然后,自定义Servlet处理该action1)form表单提交请求的时候,用action设定,该页面发起请求的Servlet ...

  9. 学习笔记4_ServletContext(重要整个Web应用的动态资源之间共享数据)

    ServletContext(重要) 一个项目只有一个ServletContext对象! 我们可以在N多个Servlet中来获取这个唯一的对象,使用它可以给多个Servlet传递数据! 与天地同寿!! ...

随机推荐

  1. SpringMVC 处理映射

    一.Spring MVC控制器名称处理映射 以下示例展示如何利用Spring MVC 框架使用控制器名称处理程序映射. ControllerClassNameHandlerMapping类是基于约定的 ...

  2. 谷歌开发者:看可口可乐公司是怎么玩转TensorFlow的?

    在这篇客座文章中,可口可乐公司的 Patrick Brandt 将向我们介绍他们如何使用 AI 和 TensorFlow 实现无缝式购买凭证. 可口可乐的核心忠诚度计划于 2006 年以 MyCoke ...

  3. tensorflow deepmath:基于深度学习的自动化数学定理证明

    Deepmath Deepmath项目旨在改进使用深度学习和其他机器学习技术的自动化定理证明. Deepmath是Google研究与几所大学之间的合作. 免责声明: 该存储库中的源代码不是Google ...

  4. Docker学习笔记【三】安装Redis

    项目中使用到Redis,平常都是别人搭建的,今天试着在Google Cloud Platform 上搭建一个学习环境. 1.使用 docker pull redis 从docker hub中下载镜像 ...

  5. 吴恩达深度学习第1课第3周编程作业记录(2分类1隐层nn)

    2分类1隐层nn, 作业默认设置: 1个输出单元, sigmoid激活函数. (因为二分类); 4个隐层单元, tanh激活函数. (除作为输出单元且为二分类任务外, 几乎不选用 sigmoid 做激 ...

  6. Node.js 模块系统

    为了让Node.js的文件可以相互调用,Node.js提供了一个简单的模块系统. 模块是Node.js 应用程序的基本组成部分,文件和模块是一一对应的.换言之,一个 Node.js 文件就是一个模块, ...

  7. 将luarocks整合进openresty

    缘由 随着功能需求的深入, openresty领域的包已经不够用了, 需要lua领域本身累积的库, 也就是luarocks. 本文讲解了windows 10桌面和ubuntu server两套系统的方 ...

  8. 给定 n×n 的实数矩阵,每行和每列都是递增的,求这 n^2 个数的中位数。

    #define COL 4 #define ROW 4 int findMedian(int matrix[][COL], int row, int col) { int* arr = new int ...

  9. Angular2的input和output(原先的properties和events)

    angular2学习笔记 本文地址:http://blog.csdn.net/sushengmiyan 本文作者:苏生米沿 文章来源:http://blog.ng-book.com/angular-2 ...

  10. TCP发送源码学习(3)--tcp_transmit_skb

    一.tcp_transmit_skb static int tcp_transmit_skb(struct sock *sk, struct sk_buff *skb, int clone_it, g ...