[英]Creating Configuration object inside doGet method of servlet giving me Exception
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String name=req.getParameter("name");
String email=req.getParameter("email");
int marks=Integer.parseInt(req.getParameter("marks"));
Student st=new Student(0,name,email,marks);
System.out.println("Inside get method before configuration object generation");
Configuration cfg=new Configuration();
System.out.println("After configuration initialization");
cfg.configure("Resourses/hibernate.cfg.xml");
System.out.println("after giving hibernate config file");
sf=cfg.buildSessionFactory();
}
and I am getting this error in output 我在输出中收到此错误
inside init method after calling super Inside get method before configuration object generation 在配置对象生成之前调用超级内部获取方法之后的内部初始化方法
Sep 25, 2016 8:56:41 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [Controller.StudentRegistrationServlet] in context with path [/StudentRegistration] threw exception
java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "createClassLoader")
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:457)
at java.security.AccessController.checkPermission(AccessController.java:884)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
The default Java Runtime Security setting does not allow the run time permission 'createClassLoader', which is required by the ArcSDE Java API. 默认的Java运行时安全设置不允许ArcSDE Java API要求运行时权限'createClassLoader'。
Update the C:\\Program Files\\Java\\jdk1.7.0_79\\jre\\lib\\security\\java.policy
file . 更新
C:\\Program Files\\Java\\jdk1.7.0_79\\jre\\lib\\security\\java.policy
文件 。
Add the following lines to the java.policy file inside default permissions "grant ... { ... }" block : 将以下行添加到默认权限“ grant ... {...}”块内的java.policy文件中 :
Code:
// default permissions granted to all domains
grant {
permission java.lang.RuntimePermission "createClassLoader";
permission java.util.PropertyPermission "NLS_LANG", "read";
//....rest of code as it is.
}
Note The servlet container may have its own security policy that overrides the JRE-wide policy. 注意 Servlet容器可能具有自己的安全策略,该策略将覆盖JRE范围的策略。 For example, Tomcat uses the one in
TOMCAT_HOME/conf/catalina.policy
, not the file that vou've been modifying. 例如,Tomcat使用
TOMCAT_HOME/conf/catalina.policy
的文件,而不使用您一直在修改的文件。
For Tomcat server add permissions in C:\\Program Files\\Apache Software Foundation\\Tomcat 7.0\\conf\\catalina.policy file next to WEB APPLICATION PERMISSIONS as shown below: 对于Tomcat服务器,在“ Web应用程序权限”旁边的C:\\ Program Files \\ Apache Software Foundation \\ Tomcat 7.0 \\ conf \\ catalina.policy文件中添加权限,如下所示:
// ========== WEB APPLICATION PERMISSIONS =====================================
grant {
permission java.lang.RuntimePermission "createClassLoader";
permission java.util.PropertyPermission "NLS_LANG", "read";
//....rest of code as it is.
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.