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. Linux 简单socket实现UDP通信

    服务器端 #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sy ...

  2. HDU 4722 Good Numbers(位数DP)(2013 ACM/ICPC Asia Regional Online ―― Warmup2)

    Description If we sum up every digit of a number and the result can be exactly divided by 10, we say ...

  3. POJ 1463 Strategic game(二分图最大匹配)

    Description Bob enjoys playing computer games, especially strategic games, but sometimes he cannot f ...

  4. MySQL 初识01

    最近开始学习MySQL 所以将这两天所学习到的知识简单小结一下 1.status 显示数据库信息 2.数据类型: a.字符串: char(m):固定长度的字符,最多255个字符: varchar(m) ...

  5. java文件的I/O

    [原创] java文件的I/O操作,简单来说就是向文件中写入数据以及从文件中读出数据,这是我们平日做的最多的操作,这里给出两种文件I/O操作,当然还有许多的操作方法,各种流的使用,可谓是高深莫测:不管 ...

  6. window下对samba的清理操作

    windows清除访问samba局域网密码缓存 1.在dos窗口中输入control userpasswords2或者control keymgr.dll,然后[高级]/[密码管理],删掉保存的该机器 ...

  7. HDU 1005 Wooden Sticks

    http://acm.hdu.edu.cn/showproblem.php?pid=1051 Problem Description There is a pile of n wooden stick ...

  8. [剑指Offer] 27.字符串的排列

    [思路]从第一位开始,判断每一位字符的所有可能性,依此递归. class Solution { public: void PermutationHelp(vector<string> &a ...

  9. Windows 64下elasticsearch-1.7.1集群 安装、启动、停止

    elasticsearch-1.7.1 (es Windows 64) 安装.启动.停止的详细记录 https://blog.csdn.net/qq_27093465/article/details/ ...

  10. Python数据分析(一)pandas数据切片

    1.获取行或列数据 loc——通过行标签索引行数据 iloc——通过行号索引行数据 ix——通过行标签或者行号索引行数据(基于loc和iloc 的混合) 同理,索引列数据也是如此! import pa ...