servlet学习(1)
1.Servlet是sun公司提供的一门用于开发动态web资源的技术。
2.Servlet在web应用的位置:
3.创建Servlet的三种方式:
(1)实现servlet的接口
(2)继承GenericServlet。覆写service方法
(3)继承HttpServle,覆写doGet()或者doPost()等方法
注意:
1>GenericServlet实现了 Servlet 和ServletConfig接口.
GenericServlet能够直接被一个servlet扩充,虽然它更为一般的是用来扩充一个指定协议的子类,如HttpServlet.
GenericServlet 使得写入 servlets更加简单。
它提供了简单的生命周期方法init和destroy,以及ServletConfig接口中的方法 的版本号。
GenericServlet 也实现了 log 方法,在ServletContext 接口中被声明。
2>提供了一个能够由之生成子类以为WEB网站创建HTTP servlrt 的抽象类。 HttpServlet的子类必须至少覆盖一个方法。一般是下列方法中的一个:
doGet, 假设servlet 支持 HTTP GET 请求doPost, 针对 HTTP POST 请求doPut, 针对 HTTP PUT 请求doDelete,针对HTTP DELETE 请求init和destroy, 为管理为servlet的存在而锁定的资源。getServletInfo, servlet 用以提供关于器其自身信息。
(1) tomcat/webapps/文件夹下创建web应用mail。
文件夹结构例如以下
tomcat/webapps
|
mail
|
WEB-INF
| |
web.xml classes
|
cn.wwh.www.web.servlet.MyServlet.class
(2)tomcat/webapps/mail/文件夹下写一个类MyServlet实现Servlet接口。
(3)进入cmd命令台,增加servlet-api.jar[tomcat中有]支持
set classpath=%classpath%;D:\apache-tomcat-6.0.29\lib\servlet-api.jar(导入这个jar包)
(4) 进入MyServlet.java所在的文件夹,编译MyServlet。
javac -d . MyServlet.java (编译)
(5)部置mail应用到tomcat/webapps/文件夹下,并启动Tomcat。
(6)一定要在web.xml文件里配置MyServletWeb动态资源
<servlet>
<servlet-name></servlet-name>(一般写类名为好)MyServlet
<servlet-class> cn.wwh.www.web.servlet.MyServlet</servlet-class>(权限类名)
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/MyServlet</url-pattern>(虚拟的URL)
</servlet-mapping>
(7) 通过浏览器訪问MyServlet这个动态Web资源
IE:http://localhost:8080/mail/MyServlet
注意:
在WEB-INF目录下放的是java的class文件。而不是java源码2>写servlet的类时,一定要在web.xml文件下进行配置,就像用到android的四大组件时,必须在manifest.xml文件里注冊一样。3>在浏览中的地址栏,输入虚拟文件夹要注意大写和小写问题。4>因为MyEclipse中自带了jdk,所以在执行tomcat时要注意在dos下编译的java源文件所用到的jdk要和tomcat中的jdk一样。4.servlet创建的三种方式(仅仅写类型。没有注重代码的目的)
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
/**
*类的作用:
*
*
*@author 一叶扁舟
*@version 1.0
*@创建时间: 2014-7-26 上午10:57:35
*/
public class CreateServlet1 implements Servlet{
@Override
public void destroy() {
}
public ServletConfig getServletConfig() {
return null;
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void init(ServletConfig arg0) throws ServletException {
}
@Override
public void service(ServletRequest request, ServletResponse response)
throws ServletException, IOException {
// 取得服务端向浏览器中的输出流对象
PrintWriter pw = response.getWriter();
pw.write("You must study and never give up your dream!");
}
}
import java.io.IOException;
import javax.servlet.GenericServlet;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
/**
*类的作用:
*
*
*@author 一叶扁舟
*@version 1.0
*@创建时间: 2014-7-26 上午11:12:14
*/
public class CreateServlet2 extends GenericServlet {
@Override
public void service(ServletRequest requeset, ServletResponse response)
throws ServletException, IOException {
// 设置浏览器字符的编码的方式,基本的针对中文字符,假设不设置中文字符,将出现乱码
response.setContentType("text/html;charset=UTF-8");
response.getWriter().write("<h1 style='color:red'>青春是用来奋斗的,理想是用来实现的!</h1>");
}
}
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*类的作用:
*
*
*@author 一叶扁舟
*@version 1.0
*@创建时间: 2014-7-26 上午11:41:28
*/
public class CreateServlet3 extends HttpServlet {
//浏览器以Get的方式提交。所以覆写doGet的方法就好了
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter pw = response.getWriter();
// pw.write("<strong>");
pw.write("<span style='font-size:300%;color:red;'>");
pw.write("作者:一叶扁舟");
pw.write("</span>");
pw.write("<br/>");
pw.write("<p style ='color:blue;'>专业:软件project</p>");
// pw.write("</strong");
pw.close();
}
}
servlet学习(1)的更多相关文章
- JSP&Servlet学习手册
JSP&Servlet学习手册 沙琪玛 书 目录 JSP 指令... 3 书写方式... 3 指令列表... 3 JSP 内置对象... 3 内置对象特点... 3 常用内置对象... 3 o ...
- Servlet 学习笔记
Servlet 运行在服务器上的 java 类: Servlet 容器为 javaWeb 应用提供运行时环境,负责管理 servlet 和 jsp 生命周期,以及管理他们的共享数据. 现在我们知道了 ...
- Servlet学习:(三)Servlet3.0 上传文件
转: Servlet学习:(三)Servlet3.0 上传文件 2018年08月03日 11:57:58 iDark_CSDN 阅读数:362 一.注意事项 客户端(浏览器) 表单的提交方法必须是 ...
- Servlet学习(九)——request
request运行流程在Servlet学习(四)——response已介绍,不再赘述 1.通过抓包工具获取Http请求 因为request代表请求,所以我们可以通过该对象分别获得Http请求的请求行, ...
- # jsp及servlet学习笔记
目录 jsp及servlet学习笔记 JSP(Java Server Page Java服务端网页) 指令和动作: servlet(小服务程序) jsp及servlet学习笔记 JSP(Java Se ...
- Servlet学习笔记(四)
目录 Servlet学习笔记(四) 一.会话技术Cookie.session 1. 什么是会话技术? 2. 会话技术有什么用? 3. Cookie 3.1 什么是Cookie? 3.2 使用Cooki ...
- Servlet学习笔记(三)
目录 Servlet学习笔记(三) 一.HTTP协议 1.请求:客户端发送欸服务器端的数据 2.响应:服务器端发送给客户端的数据 3.响应状态码 二.Response对象 1.Response设置响应 ...
- Servlet学习笔记(二)
目录 Servlet学习笔记(二) Request对象 1.request和response对象: 2.request对象继承体系结构: 3.什么是HttpServletRequest ? 4.Htt ...
- servlet 学习(二)
一.ServletConfig讲解 1.1.配置Servlet初始化参数 在Servlet的配置文件web.xml中,可以使用一个或多个<init-param>标签为servlet配置一些 ...
- JavaWeb学习总结-04 Servlet 学习和使用
一 Servlet 1 Servlet概念 Servlet时运行在服务器端的Java程序. Servlet的框架核心是 javax.servlet.Servlet 接口. 所有自定义的Servlet都 ...
随机推荐
- Pocket英语语法---三、英语动词的特点是什么
Pocket英语语法---三.英语动词的特点是什么 一.总结 一句话总结:即表示时间(时态),又表示人数(单复数) 1.第十七讲,不定量表达法? 1.a few为肯定含义几个,few为否定含义没几个, ...
- hdoj--1005--Number Sequence(规律题)
Number Sequence Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- caioj 1081 动态规划入门(非常规DP5:观光游览)
这道题和前面的分组的题有点像 就是枚举最后一组的长度. 然后组数可以在第一层循环也可以在第二层循环 我自己的话就统一一下在第一层循环吧 然后这道题题意我一直没理解清楚,浪费了很多时间,写复杂了 同时初 ...
- caioj 1070 动态规划入门(二维一边推3:字符距离)(最长公共子序列拓展)
复制上一题总结 caioj 1069到1071 都是最长公共字序列的拓展,我总结出了一个模型,屡试不爽 (1) 字符串下标从1开始,因为0用来表示字符为空的情况,而不是第一个字符 (2) ...
- Unity 编辑器学习(三)之 Light & Baked
上一篇博客已经详细的介绍GI了,接下来我们讲点实际的,怎么烘焙场景及注意事项. 一.Light Property: Function: Type 当前灯光的类型.有四种类型:Directional, ...
- Java基础学习总结(25)——Log4j快速入门教程
log4j是一个优秀的日志组件,基本上所有的java开发项目都会用到它.下面将自己学习的一些心得总结一下,方便以后学习. log4j在项目中都不会单独使用,至少是我写过的java项目中没有.一般来说l ...
- Android后台进程与前台线程间的区别使用
博客出自:http://blog.csdn.net/liuxian13183,转载注明出处! All Rights Reserved ! 很早就翻译过Android API的一篇文章Android高级 ...
- Spring Cloud学习笔记【四】断路器Hystrix
雪崩效应 在微服务架构中通常会有多个服务层调用,基础服务的故障可能会导致级联故障,进而造成整个系统不可用的情况,这种现象被称为服务雪崩效应.服务雪崩效应是一种因 “服务提供者” 的不可用导致 “服务消 ...
- CODEVS——T 2833 奇怪的梦境
http://codevs.cn/problem/2833/ 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Descr ...
- Windows安装两个mysql数据库步骤
因为新旧项目数据库版本号差距太大.编码格式不同.引擎也不同,所以仅仅好装两个数据库. 本次安装两个mysql数据库.版本号各自是4.0.18,5.5.36.都是可运行文件直接安装. 本机上之前已经安装 ...