開發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