开发j2ee还是用专门的java ee eclipse,自带了许多开发j2ee的插件,包括:

This package includes:

  • Data Tools Platform
  • Eclipse Git Team Provider
  • Eclipse Java Development Tools
  • Eclipse Java EE Developer Tools
  • JavaScript Development Tools
  • Maven Integration for Eclipse
  • Mylyn Task List
  • Eclipse Plug-in Development Environment
  • Remote System Explorer
  • Eclipse XML Editors and Tools

我用的ide是

Eclipse Java EE IDE for Web Developers.

Version: Kepler Service Release 1.

新建一个工程: c dynamic web project.

创建dynamic web project

eclipse本身的dynamic web project类似MyEclipse?的web project,

  1. MyEclipseEclipse进行了扩展,如:web project可以添加一些开源的框架支持,比如StrutsHibernate等等。
    也就是说,web projectMyeclipse扩展后的项目,而dynamic web projectEclipse自带的分类,在Myeclipse中,web project具有dynamic web project特性并具有一些方便开发的集成功能。

启动后:

可以看到有一个Dynamic web project 选项,在eclipse标准版里是没有的。

创建Server

通过菜单选择File > New > Other>Server,创建Server,如下图所示。

单击“下一步”,再单击“完成”。

二,创建Dynamic Web Project项目

1,通过菜单选择File > New > Dynamic Web Project,新建项目,项目名HelloWorld,其他值默认。

2, 项目资源如下图所示。

三,创建JSP文件

1,创建index.jsp文件,右击项目,New >JSP FILE,如下图所示,单击完成。

2,在<body></body>中间处插入如下代码:

<% java.util.Date d =new java.util.Date();%>

<h1>Today's date is<%= d.toString()%></h1>

3,右击项目,Run...>Run on Server,选择刚新建的Server。运行效果如下图所示:

四,创建Servlet文件

1,新建HelloWorldServlet,右击项目,New >Servlet,如下图所示,单击完成。

(可以看到,servlet文件放在根目录下的src包中)

2,在doGet方法中添加如下代码:

response.getWriter().write("Hello, world!");

3,运行Servlet,重新启动Server。运行效果如下:

说明:

1.Dynamic Web Project项目的WEB-INF目录下默认没有web.xml文件。除非勾选这个.

 

Server只是方便开发和调试WEB项目,真实布署WEB应用时,应该修改Tomcat安装目录下的conf/server.xml文件和Web端项目下的WEB-INF/web.xml文件。

用户登录例子

1.新建login.jsp

  1. <%@ page language="java" contentType="text/html; charset=utf8"
  2. pageEncoding="utf-8"%>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  4. <html>
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  7. <title>Login</title>
  8. </head>
  9. <body>
  10.  
  11. <form method="POST" action="login">
  12.  
  13. <input type="text" name="username"/>
  14. <input type="text" name="password"/>
  15. <input type="submit" value="登陆"/>
  16.  
  17. </form>
  18.  
  19. </body>
  20. </html>

注意我们的action

2.Servlet,在Web项目的src中右键新建一个类LoginAction 的servlet

  1. package com.demo;
  2.  
  3. import java.io.IOException;
  4. import java.io.PrintWriter;
  5.  
  6. import javax.servlet.ServletException;
  7. import javax.servlet.annotation.WebServlet;
  8. import javax.servlet.http.HttpServlet;
  9. import javax.servlet.http.HttpServletRequest;
  10. import javax.servlet.http.HttpServletResponse;
  11.  
  12. /**
  13. * Servlet implementation class LoginServlet
  14. */
  15. @WebServlet("/LoginServlet")
  16. public class LoginAction extends HttpServlet {
  17. private static final long serialVersionUID = 1L;
  18.  
  19. /**
  20. * @see HttpServlet#HttpServlet()
  21. */
  22. public LoginAction() {
  23. super();
  24. // TODO Auto-generated constructor stub
  25. }
  26.  
  27. /**
  28. * @see HttpServlet#doGet(HttpServletRequest req, HttpServletResponse res)
  29. */
  30. protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
  31. // TODO Auto-generated method stub
  32. //response.getWriter().append("Served at: ").append(request.getContextPath());
  33.  
  34. PrintWriter out=res.getWriter();
  35.  
  36. String username=req.getParameter("username");
  37. String password=req.getParameter("password");
  38.  
  39. String ret;
  40. if(username.equals("admin"))
  41. {
  42. if(password.equals("admin"))
  43. {
  44. ret="登陆成功";
  45. }
  46. else
  47. {
  48. ret="密码错误";
  49. }
  50. }
  51. else
  52. {
  53. ret="用户名错误";
  54. }
  55.  
  56. //返回html页面
  57. res.setContentType("text/html;charset=utf-8");
  58. out.println("<html>");
  59. out.println("<head>");
  60. out.println("<title>登录信息</title>");
  61. out.println("</head>");
  62. out.println("<body>");
  63. out.println("welcome欢迎【" + username + "】用户登录成功!!!");
  64. out.println("</body>");
  65. out.println("</html>");
  66.  
  67. out.flush();
  68. out.close();
  69. }
  70.  
  71. /**
  72. * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
  73. */
  74. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  75. // TODO Auto-generated method stub
  76. doGet(request, response);
  77. }
  78.  
  79. }

3.在WebRoot下的WEB-INF的web.xml,部署我们的Servlet,启动服务器。

  1. <servlet>
  2. <servlet-name>login</servlet-name> <!-- 名字随便 -->
  3. <servlet-class>com.demo.LoginAction</servlet-class><!-- servlet类名 -->
  4. </servlet>
  5.  
  6. <servlet-mapping>
  7. <servlet-name>login</servlet-name>
  8. <url-pattern>/login</url-pattern> <!-- url虚拟访问路径,最后我们通过工程名/login进行访问,像这样http://127.0.0.1:8080/helloworld/login -->
  9. </servlet-mapping>

4.一定要启动服务器,之后在浏览器中输入你的URL

http://localhost:8080/helloworld/login.jsp

上面中我们没有配置类似:*.jsp的访问格式也能够访问jsp页面,为什么?

tomcat的 conf目录下默认配置文件web.xml文件中有这个配置项,类似这样

  1. <!-- The mapping for the default servlet -->
  2. <servlet-mapping>
  3. <servlet-name>default</servlet-name>
  4. <url-pattern>/</url-pattern>
  5. </servlet-mapping>
  6.  
  7. <!-- The mappings for the JSP servlet -->
  8. <servlet-mapping>
  9. <servlet-name>jsp</servlet-name>
  10. <url-pattern>*.jsp</url-pattern>
  11. <url-pattern>*.jspx</url-pattern>
  12. </servlet-mapping>

可以看到,通过通配符*进行了映射,所以可以访问任意jsp文件。

参考:

http://blog.csdn.net/jiuqiyuliang/article/details/36424981

更多参考:

http://help.eclipse.org/kepler/index.jsp?topic=%2Forg.eclipse.stardust.docs.wst%2Fhtml%2Fwst-integration%2Fdynamic-web-proj.html 官方文档

http://blog.csdn.net/wangchenggong88/article/details/6830316

http://www.blogjava.net/ynstudio/archive/2009/07/01/284960.html

http://orajc.blog.51cto.com/458434/263296/     eclipse Java EE平台使用指南(一)

http://blog.sina.com.cn/s/blog_7ee821410101ipt6.html

Eclipse IDE for Java EE Developers使用和新建工程helloworld的更多相关文章

  1. Eclipse IDE for Java EE Developers 与 Eclipse Classic(Eclipse Standard)区别

    Eclipse下载官网:http://www.eclipse.org/downloads/ 版本: 1.Eclipse classic(Eclipse Standard):Eclipse的标准版; 2 ...

  2. eclipse ide for java ee developers 开发环境搭建(j2ee)

    转载自:http://www.iteye.com/topic/982182 真的是一片很不错的文章啊! 使用eclipse真的有年头了,相信java程序员没有不知道它的,最近在给团队中新来的应届生做指 ...

  3. eclipse ide for java ee developers 开发环境搭建(J2EE) 【转载】

    使用eclipse真的有年头了,相信java程序员没有不知道它的,最近在给团队中新来的应届生做指导,专门讲解了一下Eclipse开发环境的搭建过程, 一是帮助他们尽快的熟悉IDE的使用,二也是保证团队 ...

  4. Eclipse IDE for java EE Developers下载和安装

    1.登录 http://www.eclipse.org/home/index.php ,下载Eclipse IDE for java EE Developers 2.解压缩压缩包到任意路径(推荐:G: ...

  5. eclipse ide for java ee developers与eclipse ide for java developers有什么区别

    前者集成了WTP,可用于j2ee开发,功能更完善

  6. Eclipse IDE for C/C++ Developers安装配置详解

    Eclipse IDE for C/C++ Developers安装配置详解(转) 转自:http://hi.baidu.com/ltb6w/item/986532efd712460f570f1ddc ...

  7. ubuntu下安装eclipse IDE for C/C++ developers

     序 linux的GUI和windos比起来实在逊色,虽然它的终端模式(命令行模式)非常强大.linux发行版ubuntu的GUI相对其他版本要华丽一些,所以最近由redhat转向ubuntu进行li ...

  8. Linux下安装JRE和Eclipse IDE for C/C++ Developers

    Linux32位,下载eclipse-cpp-luna-R-linux-gtk.tar.gz和jre-8u11-linux-i586.rpm  放到家文件夹中. http://www.eclipse. ...

  9. Eclipse IDE for C/C++ Developers和MinGW安装配置C/C++开发学习环境详解

    Eclipse IDE for C/C++ Developers和MinGW安装配置C/C++开发学习环境详解 操作系统:Windows 7 JDK版本:1.6.0_33 Eclipse版本:Juno ...

随机推荐

  1. 《Programming WPF》翻译 第5章 1.不使用样式

    原文:<Programming WPF>翻译 第5章 1.不使用样式 作为一个样式如何使其在WPF使用的例子,,让我们看一下TTT简单的实现,如示例5-1. 示例5-1 <!-- W ...

  2. 无人参与安装IIS 6.0

    使用脚本安装 IIS 从“开始”菜单,单击“运行”. 在“打开”框中,键入 cmd,然后单击“确定”. 在命令提示符下,键入 Sysocmgr.exe /i:sysoc.inf /u:%path_to ...

  3. C++的ABI真特么是evil

    果然有些公司明确禁止使用STL也是有一定道理的.其实这个问题的本质就是认为大部分开发者是蠢货,没水平掌控这些细节,项目Release万一出乱子了怎么办?为此吐个槽,我链接一个库时,由于编译参数和链接参 ...

  4. vijos1781 同余方程

    描述 求关于x的同余方程ax ≡ 1 (mod b)的最小正整数解. 格式 输入格式 输入只有一行,包含两个正整数a, b,用一个空格隔开. 输出格式 输出只有一行,包含一个正整数x0,即最小正整数解 ...

  5. libeXosip2(1) -- Modules

    Modules Here is a list of all modules: [detail level 12] The eXtented eXosip stack LibeXosip2 Versio ...

  6. 谷歌Cartographer学习(2)-原理阐述与源码解析

    最近终于写完了毕业论文.想仔细研究下Cartographer.无奈自己学识有限,先看下网上大牛的解析,作一个汇总. 一.泡泡机器人原创专栏-cartographer理论及实践浅析 http://mp. ...

  7. python部分排序算法(网友提供)

    // 冒泡排序 def bubble(x,n):    '''This function orders the original items x x is list,n is the length o ...

  8. pyqt menu子级方向例子学习

    代码和UI文件:http://yunpan.cn/QCkXbX8mnSNke(提取码:51e1) 图片如: 代码如下: from PyQt4 import QtCore,QtGui,Qt import ...

  9. View中取设置了Tag的UILabel

    UILabel *badge = (UILabel *)[self.view viewWithTag:];

  10. Javascript 中的变量

    var a; console.log("The value of a is " + a); // The value of a is undefined console.log(& ...