我正特步进入Servlets和3.0的世界,我看到了一些示例和教程中使用的方法和注释,这些方法和注释在JAVA 6.0发布时已经讨论过(现在有),现在当我尝试使用上面的内容时注释,例如在Eclipse中它不识别它,虽然我安装了java 1.6.013,在Eclipse中它说我正在使用jre6.当我尝试使用谷歌搜索时,我偶然发现了这个页面上有关WebServlet Annotation的内容,它在右上角:DRAFT.那是什么意思?是否在1.6.013中支持@WebServlet?是我的Eclipse的问题?
非常感谢能帮助我的任何人
编辑:我现在明白我已经搞得一团糟了但是我已经下载了一个Jar的Servlets 3.0 API,至少对于@WebServlet注释有效,但是给了我一个地狱.
针对home.jsp
<jsp:useBean id="username" class="java.lang.String" scope="application"/>
<%
username="Jitendra";
%>
<jsp:include page="include.jsp"/>
Run Code Online (Sandbox Code Playgroud)
include.jsp
<%=username%>
Run Code Online (Sandbox Code Playgroud)
这给出了一个错误,即在include.jsp中未定义"username",即使Bean的范围是应用程序...
我有两个问题:
1 - 在实体内的byte []变量中,我可以存储任何类型的文件(图像,pdf,mp3 ......),还是有任何限制?
2 - 变量需要什么注释?
我的网络应用程序有一个在所有页面中使用的模板.我想在该模板中创建一个小标签(因此它随处可见),以显示用户当前登录的电子邮件.
我认为最好的方法是直接查看它是否存在于会话中,所以这就是我创建标签的方式:
<h:outputLabel id="usernameLabel"
value="#{FacesContext.getCurrentInstance().getExternalContext()
.getSessionMap().get("userRole")}" />
Run Code Online (Sandbox Code Playgroud)
代码在语法上不正确.如何以适当的方式编写它以实现我的目标?你认为这种方法是否正确?
在早期的项目中,我常常使用s:button或s:来自Seam 2的链接,因为它不会提交表单,因此不会发生模型更新.
现在我切换到WELD + Seam 3,再也找不到它了 - 我只是失明还是我必须使用别的东西?
Geziefer
我很擅长在企业应用程序中使用ORM工具.我们正在构建一个使用JPA 2.0和EE6的可扩展应用程序.我正在尝试找到一个很好的模式来构建我的应用程序,但我找不到一种方法来保持我的实体同步(我想集合访问实体的bean).
一个例子:
我有一个小组:
@Entity
public class Group implements Serializable
{
@Id
private Long id;
@OneToMany
private List<MyUser> myUsers;
public Group()
{
}
public Long getId()
{
return id;
}
public void setId(Long id)
{
this.id = id;
}
public void addUser(MyUser u)
{
myUsers.add(u);
}
}
Run Code Online (Sandbox Code Playgroud)
我有一个用户
@Entity
public class MyUser implements Serializable
{
@Id
private Long id;
public MyUser()
{
}
public Long getId()
{
return id;
}
public void setId(Long id)
{
this.id = id;
}
} …Run Code Online (Sandbox Code Playgroud) 抱歉,这是一个菜鸟问题.
我开发了一个jsf-2应用程序(在Tomcat上),它在会话范围内声明了一个大的控制器bean.
现在,我犯的错误是将所有会话作用域变量放在这个bean中作为静态变量,认为它们不会在应用程序的不同实例之间共享.但它们是 - 静态变量在同一个JVM上的应用程序的所有实例之间共享,这实际上是有意义的.无论如何,我的所有代码目前都是这样的:
@SessionScoped
@ManagedBean
public ControllerBean{
static private String aString = "session wide value for a string";
//static getter and setter for astring
}
@viewscoped
@ManagedBean
public class OneRandomViewScopedBean{
String oneString = ControllerBean.getAString();
//operations on this string...
ControllerBean.setAString(newValueForString);
}
Run Code Online (Sandbox Code Playgroud)
我是否可以获得有关如何重构代码以删除ControllerBean中的静态变量的指示?我想解决方案很简单但我现在看不到它.
注意:我不需要保留数据,因为卷很小并且在关闭应用程序后它们可能会消失
谢谢!
在这个最简单的例子中,我做错了什么?(Glassfish 4.0-b87 + Eclipse Kepler m6)
Myself.java
package com.example.cancelbug;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.ejb.Singleton;
import javax.ejb.Startup;
import javax.inject.Inject;
@Singleton
@Startup
public class Myself {
@Inject Other other;
private Future < Integer > future;
@PostConstruct
public void post_construct () {
System.out.println("post_construct started");
future = other.ton_of_work();
System.out.println("post_construct ended");
}
@PreDestroy
public void pre_destroy () {
System.out.println("pre_destroy started");
System.out.println("cancel result: " + Boolean.toString(future.cancel(true)));
try {
System.out.println("future result: " + future.get().toString());
} catch (InterruptedException | ExecutionException e) {
System.out.println("future …Run Code Online (Sandbox Code Playgroud) 我有一个单例 bean,该@PostConstruct方法需要调用@Asynchronous其自身内部的方法。它不能直接使用来执行此操作,this因为这会使调用同步。我不能自己@Inject,因为它是圆形的。
我想使用JAX-RS构建RESTful Web服务(Jersey + Jackson,Jackson用于生成JSON).
我使用Glassfish 4.0作为服务器,netbeans作为IDE.
Web服务工作正常,但目前我没有任何身份验证.
所以现在我正在考虑散列密码的摘要验证,这样你就不需要以纯文本形式传输密码了.另外我想使用https,以便加密数据.
我理解了理论.但我不知道我怎么能用Glassfish在Netbeans中做到这一点.
我看到一些教程在glassfish的管理控制台中做了一些事情.但是,有没有办法在netbeans中做到这一点?我不能在部署应用程序时创建的netbeans中定义一个领域吗?
创建领域和东西之后.我想我需要在我的所有资源(WebServices)中注入某种经过身份验证的"用户"-Object.但我以前从未这样做过.我正在寻找一个很好的教程,它描述了我如何设置摘要认证,注入网络netbeans可以用netbeans做到这一点,这样我就能很好地理解它.
在Jetty中实现拒绝服务攻击保护的最佳方法是什么?所有类需要扩展或配置需要设置的内容.
1) CDI @Interceptor 的@Priority 是什么意思?
2)它与 beans.xml 中声明的拦截器顺序有什么关系?
3) @Priority 可以在 xml 文件中被覆盖吗?