我有一个基于maven的JBoss AS 7和Eclipse Luna项目。我正在使用带注释的servlet,并且有一个非常简单的JPA实体和DAO。
当我通过Eclipse部署时,servlet无法启动。
如果我mvn package
并通过JBOss Web界面进行部署,则servlet将部署。
使用eclipse,部署JPA类并设置持久性内容,但是我从servlet中得不到任何东西。
我没有除persistence.xml之外的任何XML文件,只有带注释的servlet,如下所示:
@WebServlet(urlPatterns = {"/simple"}, loadOnStartup=1)
public class EntityServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
@EJB EntityDao ed;
public EntityServlet() {
System.err.println("Starting servlet");
System.err.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ");
}
public void setEntityDao(EntityDao e){
ed = e;
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out=response.getWriter();
out.print("<html><body>");
out.print("<h3>Hello Servlet</h3><p>");
out.print(ed.addNamedEntity("ADSF"));
out.print("</p>");
out.print("<p>" + ed.getAllNamedEntities() + "</p></body></html>");
}
}
答案 0 :(得分:0)
好悲伤,发现了问题。
我注意到我的测试用例没有编译,所以我开始追逐它,发现我的.project文件中的java builder不再存在(不知道它到底在哪里)。
Here is the link to the fix for the compile problems
它的要点是你必须添加:
<form onsubmit="$('input[name=inlineRadioOptions]').prop('disabled',true);return true;" name="catsearchform37675"
id="sForm" method="post" action="">
<div style="margin-bottom: 5px;">
<label class="radio-inline">
<input type="radio" name="inlineRadioOptions" id="inlineRadio1" value="Catalog"
onclick="$('.search_textField').attr({name:'searcharg',id:'searcharg'});$('#searchtype').val('t');$('#sForm').attr({action:'http://www.searchlocal.com/ch~S17/X',target:'_blank',method:'GET'});$('#hiddenField').append('<input type=\'hidden\' name=\'searchtype\' id=\'searchtype\' value=\'t\' />');"/>
Catalog
</label>
<label class="radio-inline">
<input type="radio" name="inlineRadioOptions" id="inlineRadio3" value="Website"
onclick="$('.search_textField').attr({name:'CAT_Search',id:'CAT_Search'});$('#sForm').attr({action:'/Default.aspx?SiteSearchID=2960&ID=/search-results',target:'self',method:'POST'});"
checked="checked"/> Website
</label>
</div>
<div id="hiddenField"></div>
<div class="clearfix"><input type="text" id="CAT_Search" name="CAT_Search" placeholder="Search" hidefocus="true"
style="outline: none medium;" class="search_textField"/> <input type="submit"
class="search-btn"
value="Search"/></div>
如果确实缺少了buildSpec部分中的.project文件。