我从事网络开发已有4年多了.我曾参与过几个不同的项目,但我们从未在单个项目中编写单元测试.
由于所有紧张的时间表和死线,编写测试变得非常困难.所以我的问题是: -
PS: - 我们在java,struts,spring和hibernate中进行web开发.JUnit广泛用于java中的测试.另外,Spring和Struts有一些内置的JUnit支持.
对此有任何意见将不胜感激.
谢谢.
Hibernate验证器是否支持国际化.我看到了jar,我可以看到各种ValidationMessages.properties文件.
我们可以创建自己的自定义错误消息,这些消息将被国际化吗?我不想在Hibernate验证器中使用默认提供的错误消息.
我们需要使用自己的自定义消息,它们应该国际化.
以及Hibernate验证器支持的语言是什么.在jar中我看到了英语,法语,德语,土耳其语和蒙古语的属性文件.
我们可以添加更多语言,例如西班牙语,葡萄牙语等吗
我使用速度1.7与spring 3.1框架发送电子邮件.velocity用于电子邮件模板.
以下是配置
<bean id="velocityEngine"
class="org.springframework.ui.velocity.VelocityEngineFactoryBean">
<property name="velocityProperties">
<props>
<prop key="resource.loader">class</prop>
<prop key="class.resource.loader.class">
org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader
</prop>
</props>
</property>
</bean>
Run Code Online (Sandbox Code Playgroud)
以下是我的代码
@Component
public class EmailUtils {
@Autowired
private static VelocityEngine velocityEngine;
public static void sendMail(String subject, Map data, String template,
String toName, String toAddress) {
HtmlEmail email = new HtmlEmail();
try {
email.setHostName(hostName);
email.setSmtpPort(smtpPort);
email.setSubject(subject);
System.out.println(template +" template");
System.out.println(data +" data ");
System.out.println(velocityEngine +" velocityEngine ");
String message = VelocityEngineUtils.mergeTemplateIntoString(
velocityEngine, template, data);
System.out.println(message +" message message ");
email.setMsg(message);
email.addTo(toAddress, toName);
email.setFrom(fromAddress, …Run Code Online (Sandbox Code Playgroud) 我试图将jpg图像插入PDF.一些jpg图像正常工作但在某些情况下我得到以下异常.
java.io.IOException: Premature EOF while reading JPG.
at com.itextpdf.text.Jpeg.processParameters(Jpeg.java:218)
at com.itextpdf.text.Jpeg.<init>(Jpeg.java:117)
at com.itextpdf.text.Image.getInstance(Image.java:279)
at com.itextpdf.text.Image.getInstance(Image.java:241)
at com.itextpdf.text.Image.getInstance(Image.java:364)
Run Code Online (Sandbox Code Playgroud)
以下是我正在使用的代码.
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Image;
import com.itextpdf.text.pdf.PdfPCell;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class ImagesNextToEachOther {
public static final String DEST = "/home/Documents/pdftest/hello.pdf";
public static final String IMG1 = "/home/Documents/pdftest/2.jpg";
public static void main(String[] args) throws IOException,
DocumentException {
File file = new File(DEST);
file.getParentFile().mkdirs();
new ImagesNextToEachOther().createPdf(DEST);
}
public void createPdf(String dest) throws IOException, DocumentException { …Run Code Online (Sandbox Code Playgroud) 我有一张员工表,其中包含一般员工信息.另一个包含用户信息的User表.用户可以创建员工.
当用户创建员工时,用户将部门,产品,子产品和区域分配给员工.
用户他们可以访问特定的部门,产品,子产品和区域.
例如,用户A可以访问D1部门,产品P1(地区=亚洲,美国),P2(地区=亚洲),P3(地区=亚洲,美国).
Division是Product的父级.每个部门都可以有很多产品.
当我说用户A可以访问产品P1(地区=亚洲,美国)时,这意味着用户A可以添加产品= P1和地区=亚洲或美国的员工.
他不能将员工添加到产品P1或任何其他产品本身的任何其他区域.
如果假设用户A在db中添加了500名员工,则另一个用户B已添加500名其他员工,依此类推.
如何编写有效的查询以获取我可以访问的员工?
请注意,可能会发生另一个具有相同访问权限的用户可以添加员工,我也应该能够看到这些员工.
下面是我的db模式.
--------------------------------------------------------
-- DDL for Table BI_DIVISION
--------------------------------------------------------
CREATE TABLE "HEADCOUNT_BI"."BI_DIVISION"
( "DIVISION_ID" NUMBER(*,0) NOT NULL
"DIVISION_NAME" VARCHAR2(4000)
) ;
--------------------------------------------------------
-- DDL for Table BI_PRODUCT
--------------------------------------------------------
CREATE TABLE "HEADCOUNT_BI"."BI_PRODUCT"
( "PRODUCT_ID" NUMBER(*,0) NOT NULL ,
"PRODUCT_NAME" VARCHAR2(4000),
"DIVISION_ID" NUMBER(*,0)
) ;
--------------------------------------------------------
-- DDL for Table BI_SUB_PRODUCT
--------------------------------------------------------
CREATE TABLE "HEADCOUNT_BI"."BI_SUB_PRODUCT"
( "SUB_PRODUCT_ID" NUMBER(*,0) NOT NULL,
"SUB_PRODUCT_NAME" VARCHAR2(4000),
"PRODUCT_ID" NUMBER(*,0),
) ;
--------------------------------------------------------
-- DDL for Table BI_REGION …Run Code Online (Sandbox Code Playgroud) 我们在Tomcat 7上部署了一个Spring MVC Web应用程序.每次部署新构建时,它都是第一次运行速度非常慢.即使是登录页面也需要时间.
这是什么原因以及可以采取哪些措施来加快速度?
我们有一个使用jquery的Web应用程序.我们必须添加一个将在弹出窗口中打开的新模块.然后,该模块中的所有页面将使用ajax在同一弹出窗口中打开.
我们将有添加/编辑/列表/搜索页面等页面.我们希望在同一个弹出窗口中加载这些页面.
这是否可以在弹出窗口中进行页面转换.我们正在使用spring MVC.
编辑1
就像你点击菜单中的链接一样,它会打开一个弹出窗口.弹出窗口将有更多的按钮,这些按钮将进入新的屏幕,但在相同的弹出窗口中.我用ajax来更新一小部分屏幕.我过去常常使用div和span.但是我们如何用包含许多html组件的全新页面替换整个弹出页面.
就我使用ajax而言,当你进行远程调用时,服务器端方法将一些数据对象作为响应返回给json,可以在客户端使用它来更新页面的某些区域.
我们可以从服务器端返回整个页面吗?
请帮忙.
我有一个maven web应用程序.我正在使用springource工具套件及其内置的tc结构服务器.
每次我做任何更改我都要做mvn clean install并重启服务器.即使是JSP的变化.
有没有什么方法可以让我进行JSP更改,它们会在浏览器中反映出来像普通的Web应用程序(不是maven应用程序).
我已经通过互联网搜索但尚未成功.
仍然没有任何线索.它使开发过程非常缓慢.我查看了jrebel,但它不是免费的,我不是在寻找热门的类部署,而只是JSP的热门部署,javascripts,css等.
我的意思是允许应用程序修改数据库是一个好习惯吗?或者应该在应用程序代码库外部进行数据库迁移?
新的,所以任何输入将不胜感激.
我们使用java和gradle来构建应用程序.
我正在使用基于Java的Spring Security。我已经创建了自定义访问决策投票人impl。
但是,当我运行该应用程序时,无法打开登录页面,因为它显示访问被拒绝。
在我添加了自定义访问决策投票人impl之后,就发生了这种情况。我猜问题是由于自定义AccessDecisionVoter中的以下代码。
if(authentication instanceof AnonymousAuthenticationToken)
return ACCESS_DENIED;
Run Code Online (Sandbox Code Playgroud)
但是我需要这样做,以便不检查未登录用户的权限。
它进入无限循环,登录页面,访问决策投票者,访问被拒绝,登录页面等等。
下面是spring安全配置代码。
@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true)
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private UserDetailsService userDetailsService;
@Autowired
private AffirmativeBased accessDecisionManager;
@Bean
@Autowired
public AffirmativeBased accessDecisionManager(AccessDecisionVoterImpl accessDecisionVoter) {
List<AccessDecisionVoter<?>> accessDecisionVoters = new ArrayList<AccessDecisionVoter<?>>();
accessDecisionVoters.add(accessDecisionVoter);
AffirmativeBased accessDecisionManager = new AffirmativeBased(accessDecisionVoters);
return accessDecisionManager;
}
@Override
@Autowired
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(userDetailsService).passwordEncoder(passwordEncoder());
}
@Bean
public PasswordEncoder passwordEncoder(){
PasswordEncoder passwordEncoder = new PasswordEncoder();
passwordEncoder.setStringDigester(stringDigester());
return passwordEncoder;
}
@Bean …Run Code Online (Sandbox Code Playgroud) java spring spring-security access-denied spring-java-config