• (转)MyEclipse2014配置Tomcat开发JavaWeb程序JSP以及Servlet


    1.安装准备

    1).下载安装MyEclipse2014,这已经是最新版本。

    2).下载Tomcat

    官网:http://tomcat.apache.org/

    我们选择8.0: http://tomcat.apache.org/download-80.cgi

    在windows下选择64位解压版:http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.0.3/bin/apache-tomcat-8.0.3-windows-x64.zip

    下载好以后在本地解压即可。

    2.下载Java,配置JDK

    参考:Java开发环境的搭建以及使用eclipse创建项目

    3.配置MyEclipse中的JRE

    Myeclipse菜单--Window--Preferences

    进入偏好设置

    Window--Preferences--Java--Installed JREs--Add

    注意,在MyEclipse2014中默认自带的是jdk7。如果需要其他jdk可以自行配置。

    需要选择Standard VM:

    选择我们使用前面配置好的非MyEclipse2014自带的jdk7的安装路径C:Program FilesJavajdk1.7.0_51

    勾选新增的jdk

     

    Window--Preferences--Java--Compiler

    设置Java编译器的版本

    4.为MyEclipse配置Tomcat

    Window--Preferences--MyEclipse--Servers--Tomcat

    选择Tomcat版本,我们这里选择Tomcat 8.x,注意首先要勾选Tomcat 8.x server 为Enable,不然不起作用!

    在Tomcat home directory目录选择之前解压的tomcat解压包即可

    再配置Tomcat的jdk为我们之前配置好的jdk

    不过也可以在这里Add需要的JDK:

    还有一个需要注意的地方,我们需要修改。

    Window -> Perferences -> Java -> Editor -> Content Assist,在右边最下面一栏找到 auto-Activation ,下面有三个选项,找到第二个“Auto activation triggers for Java:”选项

    在其后的文本框中会看到一个“.”存在。这表示:只有输入“.”之后才会有代码提示和自动补全,我们要修改的地方就是这里。把该文本框中的“.”换掉,换成“abcdefghijklmnopqrstuvwxyz.搜索”,这样,你在Eclipse里面写Java代码就可以做到按“abcdefghijklmnopqrstuvwxyz.@”中的任意一个字符都会有代码提示。

    5.新建Java web项目

    MyEclipse的菜单栏--File--Web Project

    新建一个web工程

    Project name 填上自己的项目名称,例如HelloWorld。

    需要选择Java EE版本以及Target runtime为之前配置好的Tomcat8:

    下一步

    这里最好勾选自动生成web.xml,如果需要修改web根目录名称可以修改Content directory为所需即可

    建好的项目

    项目上右键弹出属性对话框,修改文本编码为UTF-8:

    6.JSP输出当前时间

    打开index.jsp中,注意需要用右键Open with “MyEclipse JSP Editor”方式以纯代码的方式打开JSP文件,不然会默认用Visual 的可视化方式打开。

    在index.jsp中书写代码:

    1. <body>  
    2.     当前时间:<br>  
    3.     <%  
    4.     Date data=new Date();  
    5.     out.write(data.toLocaleString());  
    6.     %>  
    7.   </body>  
    <body>
        当前时间:<br>
        <%
        Date data=new Date();
        out.write(data.toLocaleString());
        %>
      </body>


    启动Tomcat:

    在Console窗口可以查看输出信息:

    部署代码到Tomcat中:

    部署好了会显示--Successfully deploy

    查看服务器信息,可以点击下面的Servers窗口:

    查看运行结果,可以在下面的Web Browser窗口输入网址即可查看:

    也可以在浏览器中输入网址一样查看:

    7.Myeclipse的自动编译和Tomcat的自动部署

    在tomcat的配置文件conf/server.xml

    1. <Host name="localhost"  appBase="webapps"  
    2.       unpackWARs="true" autoDeploy="true">  
          <Host name="localhost"  appBase="webapps"
                unpackWARs="true" autoDeploy="true">


    如果autoDeploy="true"那么tomcat就会自动部署,所谓自动部署就是不需要重启tomcat就可以自动检测应用程序的 /WEB-INF/lib 和 /WEB-INF/classes目录的变化,自动装载新的应用程序,我们可以在不重起 tomcat的情况下改变应用程序。

    Window--Preferences--General--workspace

    默认是勾选Build automatically的,这样myeclipse会自动编译发布到tomcat,而tomcat的配置文件conf/server.xmlautoDeploy="true",也就是说,用redeploy的情况几乎没有。但是myeclipse不太稳定,有的时候,不能自动发布,必须要redeploy。所以当你重启tomcat后还是得不到你的预期结果时候,考虑下redeploy。


    下面是去掉勾选Build automatically以后修改JSP文件,点“保存”就不会自动编译到tomcat中:

    8.Servlet输出当前时间

    在src目录右键新建一个servelet文件:

    需要填写包名package和servlet名Name,默认继承自httpServlet,默认勾选doGet和doPost等方法都不要改变:

    勾选自动在web.xml文件中生成Map文件:

    web,xml文件中自动生成的代码:

    1. <servlet>  
    2.   <servlet-name>Timeprint</servlet-name>  
    3.   <servlet-class>com.mc.demo.Timeprint</servlet-class>  
    4. </servlet>  
    5. <servlet-mapping>  
    6.   <servlet-name>Timeprint</servlet-name>  
    7.   <url-pattern>/servlet/Timeprint</url-pattern>  
    8. </servlet-mapping>  
      <servlet>
        <servlet-name>Timeprint</servlet-name>
        <servlet-class>com.mc.demo.Timeprint</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>Timeprint</servlet-name>
        <url-pattern>/servlet/Timeprint</url-pattern>
      </servlet-mapping>


    可以修改url-pattern为需要的格式:

    在servlet文件中myeclipse已经自动为我们生成了部分代码,我们只需要加上我们需要的代码。

    增加输出当前时间的代码

    1. SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式  
    2.         out.println(df.format(new Date()));// new Date()为获取当前系统时间  
    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
    		out.println(df.format(new Date()));// new Date()为获取当前系统时间

    注意,如果出现红叉叉说明需要引入对应的包文件,在鼠标光标停留在代码上的时候会自动弹出提示框,点击inport导入对应的包即可:

    完整的doGet代码如下:

    1. public void doGet(HttpServletRequest request, HttpServletResponse response)  
    2.         throws ServletException, IOException {  
    3.   
    4.     response.setContentType("text/html");  
    5.     PrintWriter out = response.getWriter();  
    6.     out.println("<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">");  
    7.     out.println("<HTML>");  
    8.     out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");  
    9.     out.println("  <BODY>");  
    10.     SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式  
    11.     out.println(df.format(new Date()));// new Date()为获取当前系统时间  
    12.     out.println("  </BODY>");  
    13.     out.println("</HTML>");  
    14.     out.flush();  
    15.     out.close();  
    16. }  
    	public void doGet(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    
    		response.setContentType("text/html");
    		PrintWriter out = response.getWriter();
    		out.println("<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">");
    		out.println("<HTML>");
    		out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");
    		out.println("  <BODY>");
    		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
    		out.println(df.format(new Date()));// new Date()为获取当前系统时间
    		out.println("  </BODY>");
    		out.println("</HTML>");
    		out.flush();
    		out.close();
    	}

    页头已经自动增加了自动导入的包:

    1. import java.text.SimpleDateFormat;  
    2. import java.util.Date;  
    import java.text.SimpleDateFormat;
    import java.util.Date;

    点击保存编译好的文件或者jsp文件已经自动保存到到tomcat中对应的文件夹下:

    在tomcat的webapps目录下可以看到生成的Timeprint.class文件已经是最新,

    输入地址http://localhost:8080/HelloWorld/servlet/Timeprint可以在Web Browser中看到servlet已经输出当前时间了,可以对比二者。

    ---- 动动手指关注我!或许下次你又能在我这里找到你需要的答案!ZZZZW与你一起学习,一起进步!
  • 相关阅读:
    Fiddler-代理-过滤-弱网测试
    POJ2186 Popular Cows
    POJ3264 Balanced Lineup
    多模式串字符串匹配模板题
    Intersecting Lines
    实现堆结构
    OpenJuege 兔子与星空
    拓扑排序
    POJ3635 Full Tank?
    OpenJudge Cartesian Tree
  • 原文地址:https://www.cnblogs.com/zzzzw/p/4550210.html
Copyright © 2020-2023  润新知