第一个在MyEclipse上编写的web应用

来源:互联网 发布:win8安装版iso镜像mac 编辑:程序博客网 时间:2024/06/09 10:47
  1. 准备工具:
    -MyEclipse(集成Tomcat)
    -Notepad++或其他编辑文本软件
  2. 编写web程序
    新建web项目–>填写项目名(其他保持默认即可)
    项目结构如下
    项目结构
    src文件夹用于保存你所写的各种类
    index.jsp为访问时的网页

    编写一个实现Servlet接口类的案列:

package com.myfirstweb;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;public class Hello implements Servlet{    @Override    public void destroy() {        // TODO 自动生成的方法存根        System.out.println("destroy!");    }    @Override    public ServletConfig getServletConfig() {        // TODO 自动生成的方法存根        return null;    }    @Override    public String getServletInfo() {        // TODO 自动生成的方法存根        return null;    }    @Override    public void init(ServletConfig arg0) throws ServletException {        // TODO 自动生成的方法存根        System.out.println("init it");    }    @Override    public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {        // TODO 自动生成的方法存根        System.out.println("servcing");        PrintWriter pw=res.getWriter();        pw.println("Hello world");}}
这里主要讲3个方法:
void destroy():在服务器Reload该应用或关闭Tomcat或关机会调用
void service(面rvletRequest req, ServletResponse res) :在次刷新页调用req:向浏览器请求的内容;res:浏览器的回复的内容
 void init(ServletConfig config):服务器首次运行时调用

3配置web环境
1.MyEclipse工作空间–>服务器–>MyEclipse Tomcat v8.5-config–>server.xml用Notepad++工具打开在</Host>标签前添加如下信息

<Context path="/项目名" docBase="项目的绝对位置\WebRoot" reloadable="true"/>

2.MyEclipse工作空间–>项目–>WebRoot–>WEB-INF文件目录下添加web.xml如下

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">  <display-name>simpleTest</display-name>  <welcome-file-list>    <welcome-file>index.html</welcome-file>    <welcome-file>index.htm</welcome-file>    <welcome-file>index.jsp</welcome-file>    <welcome-file>default.html</welcome-file>    <welcome-file>default.htm</welcome-file>    <welcome-file>default.jsp</welcome-file>  </welcome-file-list>  <servlet>  <!--servlet-name可随意取-->    <servlet-name>hello1</servlet-name>    <!--指明servlet路径,(包名+类名)-->    <servlet-class>com.myfirstweb.Hello</servlet-class>  </servlet>  <servlet-mapping>  <!--映射-->    <servlet-name>hello1</servlet-name>    <!--在浏览器中输入的访问该servlet的url,可以任意取-->    <url-pattern>/any</url-pattern>  </servlet-mapping></web-app>

4效果如下:
完成效果

5其他两种编写Servlet应用的方法
1继承GenericServlet

package com.myfirstweb2;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.GenericServlet;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;public class HelloGen extends GenericServlet{     //该类只需重写service方法    @Override    public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {        // TODO 自动生成的方法存根        try{            PrintWriter pw=res.getWriter();            pw.println("Hello World  Gen");        }        catch(Exception ex){            ex.printStackTrace();        }    }}

2继承HttpServlet

package com.myfirstweb3;import java.io.PrintWriter;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class HelloHttp extends HttpServlet{    //处理get请求    //req:用于获得客户端的信息    //res:用于向客户端返回信息    public void doGet(HttpServletRequest req,HttpServletResponse res){        //业务逻辑处理        try{            PrintWriter pw=res.getWriter();            pw.println("Hello Http");        }catch(Exception ex){            ex.printStackTrace();        }    }    //处理post请求    public void doPost(HttpServletRequest req,HttpServletResponse res){        this.doGet(req, res);    }}

配置web.xml方法同上