2010-11-29 IBM Michael Galpin
Eclipse 和 Web 页面
在此部分中,将为要访问的数据创建 UI,把 JSP Model 2 架构用于我们的 应用程序。首先创建用于处理业务逻辑的 servlet,然后将其转发给用于呈现输 出的 JSP。
创建 servlet
使用 Eclipse 创建 servlet。返回到 Java EE ****图,右键单击 baseball 项目并选择 New > Servlet。
图 44. 新建 servlet
此操作将打开 Create Servlet 对话框。填写 servlet 的 Java package 和 Class name 并单击 Next。
图 45. 创建 servlet
在这里无需进行任何编辑操作,但是请注意指向 servlet 的 URL 映射。这 是访问 servlet 所需的相关 URL。Eclipse 将自动为我们在 web.xml 文件中设 置此 servlet 映射。根本不需要改动该文件。记住此映射并单击 Finish。
图 46. Servlet 信息
用Eclipse Europa进行Web开发,第1部分 - Eclipse Java EE(17)
时间:2010-11-29 IBM Michael Galpin
在 Servlet 类中,使用 Java Persistence API 来获得所有球员的列表并将 此列表转发给 JSP。该 servlet 的代码如清单 10 所示:
清单 10. PlayerServlet 代码
package org.developerworks.baseball.web;
import java.io.IOException;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.developerworks.baseball.Player;
/**
* Servlet implementation class for Servlet: PlayersServlet
*
*/
public class PlayersServlet extends javax.servlet.http.HttpServlet
implements javax.servlet.Servlet {
static final long serialVersionUID = 1L;
private EntityManagerFactory factory;
private EntityManager em;
/* (non-Java-doc)
* @see javax.servlet.http.HttpServlet#HttpServlet()
*/
public PlayersServlet() {
super();
factory = Persistence.createEntityManagerFactory ("baseball");
em = factory.createEntityManager();
}
/* (non-Java-doc)
* @see javax.servlet.http.HttpServlet#doGet (HttpServletRequest request,
HttpServletResponse response)
*/
@SuppressWarnings("unchecked")
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
|-------10--------20--------30--------40--------50--------60-------- 70--------80--------9|
|-------- XML error: The previous line is longer than the max of 90 characters ---------|
List<Player> players =
em.createQuery("select p from Player p").getResultList ();
request.setAttribute("players", players);
request.getRequestDispatcher("/players.jsp").forward (request, response);
}
/* (non-Java-doc)
* @see javax.servlet.http.HttpServlet#doPost (HttpServletRequest req
|