开发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,
MyEclipse对Eclipse进行了扩展,如:web project可以添加一些开源的框架支持,比如Struts、Hibernate等等。
也就是说,web project是Myeclipse扩展后的项目,而dynamic web project是Eclipse自带的分类,在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
<%@ page language="java" contentType="text/html; charset=utf8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Login</title> </head> <body> <form method="POST" action="login"> <input type="text" name="username"/> <input type="text" name="password"/> <input type="submit" value="登陆"/> </form> </body> </html>
注意我们的action
2.Servlet,在Web项目的src中右键新建一个类LoginAction 的servlet
package com.demo; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class LoginServlet */ @WebServlet("/LoginServlet") public class LoginAction extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public LoginAction() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest req, HttpServletResponse res) */ protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { // TODO Auto-generated method stub //response.getWriter().append("Served at: ").append(request.getContextPath()); PrintWriter out=res.getWriter(); String username=req.getParameter("username"); String password=req.getParameter("password"); String ret; if(username.equals("admin")) { if(password.equals("admin")) { ret="登陆成功"; } else { ret="密码错误"; } } else { ret="用户名错误"; } //返回html页面 res.setContentType("text/html;charset=utf-8"); out.println("<html>"); out.println("<head>"); out.println("<title>登录信息</title>"); out.println("</head>"); out.println("<body>"); out.println("welcome欢迎【" + username + "】用户登录成功!!!"); out.println("</body>"); out.println("</html>"); out.flush(); out.close(); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }
3.在WebRoot下的WEB-INF的web.xml,部署我们的Servlet,启动服务器。
<servlet> <servlet-name>login</servlet-name> <!-- 名字随便 --> <servlet-class>com.demo.LoginAction</servlet-class><!-- servlet类名 --> </servlet> <servlet-mapping> <servlet-name>login</servlet-name> <url-pattern>/login</url-pattern> <!-- url虚拟访问路径,最后我们通过工程名/login进行访问,像这样http://127.0.0.1:8080/helloworld/login --> </servlet-mapping>
4.一定要启动服务器,之后在浏览器中输入你的URL
http://localhost:8080/helloworld/login.jsp
上面中我们没有配置类似:*.jsp的访问格式也能够访问jsp页面,为什么?
tomcat的 conf目录下默认配置文件web.xml文件中有这个配置项,类似这样
<!-- The mapping for the default servlet --> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <!-- The mappings for the JSP servlet --> <servlet-mapping> <servlet-name>jsp</servlet-name> <url-pattern>*.jsp</url-pattern> <url-pattern>*.jspx</url-pattern> </servlet-mapping>
可以看到,通过通配符*进行了映射,所以可以访问任意jsp文件。
参考:
http://blog.csdn.net/jiuqiyuliang/article/details/36424981
更多参考:
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