1、Tomcat在MyEclipse中集成

==> Window-preferences-MyEclipse-Servers-Tomcat-Tomcat 6.x-点击右侧的Browse,选择你的Tomcat安装目录(我的是D:\Java\tomcat6),勾选Enable,在点击Apply

==> 点击Tomcat 6.x下的JDK,在右侧jdk name下点击下拉箭头,选择你安装的jdk版本

==> 在Optional java JVM arguments下的输入框填入 -Xms128m -Xmx512m -XX:MaxPermSize=256m ,在点击Apply

==> 点击Tomcat 6.x下的Launch,勾选DeBug mode,在点击Apply,点击OK即可

2、建立一个工程

==>New-Web Project-填写Project name(如:testServlet)-其他设置如下(更具实际版本填写)-Next-Next-勾选Generate web.xml deployment descriptor-Finish


==>在src目录中放java文件,WebRoot下有WEB-INF目录,WebRoot下有一个index.jsp文件(输出内容为This is my JSP page.),在WebRoot目录下新建文件夹css、images、js和.html .jsp文件,在WEB-INF目录下有一个lib文件夹(放jar包的)和一个web.xml文件(配置servlet的)

3、书写代码

==>在src中建一个包com.smalle.servlet,在包中建一个HelloServlet.java(新建一个类)

==>让这个类继承HttpServlet(在HelloServlet后加上extends HttpServlet)-右键-Source-override/implements Methods-勾选HttpServlet中的doGet、doPost,和勾选GenericServlet里的destroy()、init()方法

==>在doGet中去掉super.doGet(req, resp);加上this.doPost(req, resp);(注:默认重写的方法调用的父类的doGet(),此时想把主要测试代码在doPost中执行,但是浏览器访问时,首先访问的是doGet方法,所以在doGet调用this.doPost,把代表请求和响应的req、resp对象传给函数)

==>设置响应内容的字符编码:resp.setContentType("text/html;charset=utf-8"); resp.setCharacterEncoding("utf-8");

代码如下:

package com.smalle.servlet;

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; public class HelloServlet extends HttpServlet {
//==>继承HttpServlet==>重写HttpServlet中的方法==>web.xml:注册
private static final long serialVersionUID = 1L;
//处理HTTP GET请求
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException { this.doPost(req, resp); } //处理HTTP POST请求
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException { //设置响应内容类型
resp.setContentType("text/html;charset=utf-8");
resp.setCharacterEncoding("utf-8"); //从响应对象中获取打印流
PrintWriter out = resp.getWriter();
//往浏览器写入数据,out.println("")内容中可以输入html标签,浏览器会做出相应的显示
out.println("Hello Servlet!");
} //销毁servlet实例对象的回调方法
@Override
public void destroy() {
super.destroy();
} //初始化servlet的回调方法
@Override
public void init() throws ServletException {
super.init();
}
}

3、修改web.xml配置文件

<!-- Web项目名,起注释作用,无实际意义 -->
<display-name>testServlet</display-name> <!--注册HelloServlet -->
<servlet>
<!-- 给servlet签名 -->
<servlet-name>helloServlet</servlet-name>
<!-- 指定要注册的Servlet,即对于src目录中的类 -->
<servlet-class>com.smalle.servlet.HelloServlet</servlet-class>
</servlet>
<!-- Servlet映射 -->
<servlet-mapping>
<!-- 给Servlet签名 必须和某个Servlet的签名必须一致。 -->
<servlet-name>helloServlet</servlet-name>
<!-- 浏览器截获的请求地址,此处必须加/ -->
<url-pattern>/hello</url-pattern>
</servlet-mapping>

4、部署项目到容器,启动服务器

==>点击图标的第一个小图标-Project选择对应的Project name(testServlet)-Add-Server选择Tomcat 6.x-Finish-看到successful deployed就表示部署成功-OK

==>点击上面图标的第二个小图标下的下拉箭头-Tomcat 6.x-Start-等待Tomcat服务器启动完成

5、访问项目

==>在浏览器中输入http://localhost:8080/testServlet/hello

==>回车出现This is my JSP page. 表示访问成功

6、新建servlet法二:利用MyEclipse自带功能

==>src-右键-new-Servlet-Name填写HelloServlet,勾选doGet()、doPost()、init()、destroy()-Next-Finish

7、笔记要点

(1)资源文件:如静态html文件,js文件、图片、css文件(jsp文件不是)

(2)资源文件必须放在WebRoot文件下或其子文件夹下,如新建一个子文件夹(images、css)

(3)src中的.java文件编译后的.class文件在Apache6\webapps\Web项目名\WEB-INF\classes下

(4)改了配置文件(如:web.xml)和改变了类(增加了类,修改了类的方法和属性)一定要重新部署项目

(5)form表单中的action="请求的servlet路径(就是xml中的url-pattan)"

(6)url-pattan需要加/ action=""中加/就是相对于WebRoot(即localhost),不加/就是相对路径(相对Web项目)

(7)Web资源分为:静态Web资源(利用html既可以开发)、动态Web资源(利用servlet或jsp技术开发;jsp就是一个servlet,先弄懂servlet,jsp就很简单了)。

(8)http://ip(127.0.0.1/localhost):端口(8080)/Web项目名/url-pattern

(9)第一个Servlet程序的执行原理和过程

servlet(2) - 利用MyEclipse新建一个servlet - 小易Java笔记的更多相关文章

  1. servlet(6) - servlet总结 - 小易Java笔记

    垂阅前必看: 这都是我总结的我觉得是学习servlet应该掌握的,我在学习期间也做了一个博客项目来让所学的知识得以巩固.下面就是博客项目链接.前面的servlet相关的笔记总汇,还有就是我把觉得在学习 ...

  2. servlet(1) - 手写第一个servlet程序 - 小易Java笔记

    声明:如tomcat的安装目录为D:\Java\tomcat6,下面要根据tomcat的安装目录而定 1. 建立程序的文件结构 ==>找到tomcat的安装目录,在webapps目录下新建一个名 ...

  3. servlet(5) - Cookie和session - 小易Java笔记

    1.会话概述 (1)会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. (2)会话过程中的数据不宜保存在request和servle ...

  4. servlet(4) - servletAPI - 小易Java笔记

    Servlet规范核心类图 1.请求和响应对象 ==> HTTP协议包含请求和响应部分. ==> HttpServletRequest就代表着请求部分 ==> HttpServlet ...

  5. servlet(3) - servlet知识点 - 小易Java笔记

    1.servlet的生命周期 (1)容器最终要调用service方法为客户进行服务.(此处“容器”指java运行的环境,tomcat是jsp/servlet的容器) ==> 在内存中一个Serv ...

  6. JSP(3) - 9个JSP内置对象 - 小易Java笔记

    1.9个JSP内置对象 内置对象引用名称     对应的类型 request HttpServletRequest response HttpServletResponse config Servle ...

  7. JSP(1) - JSP简介、原理、语法 - 小易Java笔记

    1.JSP简介 (1)JSP的全称是Java Server Pages(运行在服务器端的页面),实际就是Servlet(学习JSP的关键就是时刻联想到Servlet) (2)JSP.Servlet各自 ...

  8. JSP(2) - JSP指令 - 小易Java笔记

    JSP指令是给JSP引擎用的,即给服务器用的.作用是告诉服务器,该如何处理JSP中除了指令之外的内容.包括page.include.taglib三种 基本的语法格式:<%@ 指令名称 属性1=& ...

  9. 【转】MyEclipse第一个Servlet程序

    转自:http://blog.csdn.net/wangdingqiaoit/article/details/7674367 前言 本文旨在帮助学习java web开发的人员,熟悉环境,在Win7系统 ...

随机推荐

  1. [USACO18DEC]Cowpatibility(容斥 or bitset优化暴力)

    题面 题意: 给出n个五元组(一个五元组的五个数互不相同),我们称两个五元组不和谐,当且仅当任意元素都不相同,求有多少对五元组不和谐. \(Solution:\) 很容易想到 Ans = 总共对数-和 ...

  2. Visual Studio 2014安装包

    点击下载

  3. JSONP跨域jQuery处理整理(附天气数据实例)

    写在前面 跨域的解决方案有多种,其中最常见的是使用同一服务器下的代理来获取远端数据,再通过ajax进行读取,而在这期间经过了两次请求过程,使得获取数据的效率大大降低,这篇文章蓝飞就为大家介绍一下解决跨 ...

  4. Git&GitHub&GitBook

    一.定义 Git(分布式版本控制系统) GitHub gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名gitHub. gitHub于2008年4 ...

  5. Week3 Teamework from Z.XML-团队分工及贡献分分配办法

    引言:团队项目即将开展,本文将就团队分工,以及分数分配办法进行阐述 一.团队分工 本周我们团队进行了初步的分工,结果如下: PM: 李孟 Dev:毛宇 薛亚杰 肖俊鹏 罗凡 Test:周敏轩 马辰 李 ...

  6. js调用本地office打开服务器的office文件预览

    本来是想做成直接在网页上在线预览office文件的,但是找了好多,要不是收费,要不就是要调用别人的API不安全,所以纠结了好久还是用调用本地的office预览office文件. 废话不多说,那么怎么调 ...

  7. 一个flink作业的调优

    最近接手了一个flink作业,另外一个同事断断续续有的没的写了半年的,不着急,也一直没上线,最近突然要上线,扔给我,要调通上线. 现状是: 1.代码跑不动,资源给的不少,但是就是频繁反压. 2.che ...

  8. 多线程 定时器 Timer TimerTask

    定时器是一种特殊的多线程,使用Timer来安排一次或者重复执行某个任务 package org.zln.thread; import java.util.Date; import java.util. ...

  9. zTree基本功能[core]

    zTree 是一个依靠jQuery实现的多功能"树插件".优异的性能.灵活的配置.多种功能的组合是 zTree 最大优点. zTree v3.0 将核心代码按照功能进行了分割,不需 ...

  10. 常见的位运算技巧总结(膜wys)

    看了wys的论文,感觉获得了不少新姿势 这里总结一下 #include <iostream> using namespace std; typedef unsigned int u32; ...