Spring MVC中重定向和视图呈现的区别

在学习Spring MVC知识时,有一些关于Spring返回类型的东西让我很困惑。 在本文档中: 使用@RequestMapping映射请求,它们返回appointments/new和redirect:/appointments 。 码 @RequestMapping(method = RequestMethod.POST) public String add(@Valid AppointmentForm appointment, BindingResult result) { if (result.hasErrors()) { return “appointments/new”; } appointmentBook.addAppointment(appointment); return “redirect:/appointments”; } 这两种返回类型之间的主要区别是什么? 据我了解,第一种类型作为前进动作返回,但如果我是对的,为什么他们也forward:/发布forward:/作为返回类型?

使用Java Mail API保存电子邮件(包括图像和HTML数据)的最佳方法?

我正在寻找保存包含内嵌图像和HTML内容的电子邮件正文的最佳方法。 我想保留邮件中包含的所有内容。 我的最终目标是将完整的电子邮件正文保存为PDF 如果有直接的方式将电子邮件正文写入PDF? 如果不是什么是保存电子邮件的最佳格式? 我可以使用其他一些可用的API将HTML,DOC等转换为PDF。 private void downloadAttachment(Part part, String folderPath) throws Exception { String disPosition = part.getDisposition(); String fileName = part.getFileName(); String decodedText = null; logger.info(“Disposition type :: ” + disPosition); logger.info(“Attached File Name :: ” + fileName); if (disPosition != null && disPosition.equalsIgnoreCase(Part.ATTACHMENT)) { logger.info(“DisPosition is ATTACHMENT type.”); File file = new […]

目录分隔符不应出现在库名称中:Macintosh HD / Users / sakkisetty / Documents / dll / FasExtend.dll

我用它来加载java程序中的dll库吧。 显示错误。 像这样目录分隔符不应出现在库名称中: import java.sql.*; /* import com.sun.jna.Library; import com.sun.jna.Native; import com.sun.jna.NativeLong; import com.sun.jna.Platform; import com.sun.jna.*;*/ public class jdbc3 { public native void FasSendUserFromFasToFac(); static { System.loadLibrary(“Macintosh HD/Users/sakkisetty/Documents/dll/FasExtend”); } /* public interface simpleDLL extends Library { simpleDLL INSTANCE = (simpleDLL) Native.loadLibrary((Platform.isWindows() ? “simpleDLL” : “simpleDLLLinuxPort”), simpleDLL.class); byte giveVoidPtrGetChar(Pointer param); // char giveVoidPtrGetChar(void* param); int giveVoidPtrGetInt(Pointer […]

为什么在通过列表模型更新内容后,我有时会得到空白的JLists?

我有一个反复出现的问题,我有一个JList,我希望用新内容更新。 我正在使用DefaultListModel,它提供了向列表中添加新内容的方法,但是当使用这些方法时,我发现有一部分调用会导致一个完全空白的JList。 更新是否有效似乎是随机的,与发送的数据无关。 下面是一个演示问题的简单程序。 它只是生成一个增加大小的列表来更新JList,但是当运行时,列表内容似乎随机出现和消失。 据我所知,我正在遵循正确的API来做到这一点,但我想我必须有一些基本的东西我不知道。 import java.awt.BorderLayout; import javax.swing.*; public class ListUpdateTest extends JPanel { private JList list; private DefaultListModel model; public ListUpdateTest () { model = new DefaultListModel(); list = new JList(model); setLayout(new BorderLayout()); add(new JScrollPane(list),BorderLayout.CENTER); new UpdateRunner(); } public void updateList (String [] entries) { model.removeAllElements(); for (int i=0;i<entries.length;i++) { model.addElement(entries[i]); } […]

访问打包到jar文件中的文件

我创建了一个带有可运行编译类和一些模板文件(文本)的jar文件。 我现在想要使用打包到jar中的文本文件在应用程序中作为File对象进行分发。 我试图使用不起作用的相对路径。 如何获取指向jar中文本文件的File对象? 有没有办法做到这一点所以它既可以在运行解压缩的类文件时运行,也可以从具有相同代码的jar运行,或者我是否需要使用单独的函数?

java中的快速正弦和余弦函数

我知道Math.sin()和Math.cos()函数,但我想知道是否有一种方法可以创建(或使用已经存在的)更快的函数,因为我不关心精确定位准确性。 我正在寻求执行基本的sin或cos计算,并使其基本上尽可能快地执行。 简单地迭代西格玛几次比Math.sin()更快?

BeanUtils不适用于链设置器

例如 class tester { @Test public void testBeanUtils() throws InvocationTargetException, IllegalAccessException, NoSuchMethodException { Stranger stranger = new Stranger(); BeanUtils.setProperty(stranger,”name”,”wener”); BeanUtils.setProperty(stranger,”xname”,”xwener”); BeanUtils.setProperty(stranger,”yname”,”ywener”); System.out.println(stranger); } @Data// lombok annotation generate all setter and getter public static class Stranger { @Accessors(chain = true)// generate chained setter String name; String xname; String yname; public Stranger setYname(String yname)// no lombok, still […]

可以检测页面抓取吗?

所以我刚刚为我创建了一个为页面抓取的应用程序,然后运行它。 它工作正常。 我想知道是否有人能够弄清楚代码是否被页面删除,无论他们是否为此目的编写代码? 我用java编写代码,它只是检查一行html代码。 在我将更多代码添加到此程序之前,我想我会对此有所了解。 我的意思是它很有用,而且它几乎就像一个黑客。 看起来像最糟糕的情况,因为这个页面刮板不是太糟糕,因为我可以稍后使用另一个设备,IP将是不同的。 也可能在一个月内无关紧要。 该网站目前似乎正在获得相当多的网络流量。 编辑页面的人现在可能已经睡着了,此时它实际上还没有完成任何事情,所以这可能会被忽视。 感谢您的快速回复。 我想它可能已被忽视了。 我所做的只是复制一个标题,所以只是文字。 我想这可能类似于浏览器复制粘贴的工作原理。 该页面刚刚在今天早上编辑,包括我试图获得的文字。 如果他们确实注意到了什么,他们还没有宣布,所以一切都很好。

Java – 如何检查字符串中的重复字符?

我需要编写一个函数来检查字符串是否有重复值,并返回唯一字符的数量。 如果计数大于3,则应返回true。 如果计数小于3,则应该为假。 这是我一直在尝试的(注意我是java的新手) private boolean isFormatValid(String password) { CharSequence inputStr = password; int length = inputStr.length(); int numberDups = 0; for(int i=0; i < length; ++i) { Pattern pattern = Pattern.compile("(.)(?=.*?\1){1,20}"); Matcher matcher = pattern.matcher(inputStr); numberDups += 1; } if (numberDups < 3) { return false; } return true; } 我试图使用正则表达式,因为它被认为可能更容易。 但如果我能在没有正则表达式的情况下实现这一点,我会更快乐。 这是什么意思? private […]

事务TimeOut EJB对线程的影响

关于EJB的问题: 假设我有一个具有无限循环的会话bean。 它在EJB事务下运行。 现在当EJB的事务超时时,会导致无限循环线程中断或容器将停止运行无限循环的线程。