我正在开发一个Spring Web应用程序,我需要在其中拥有变量,它们在本地环境中具有不同的价值,在生产环境中具有其他价值.
对于Eg(文件上传目录).我的文件上传目录对于本地和prod环境是不同的.
目前我通过检查主机名(如果是'localhost',然后是A else B)并采用这种方法来做到这一点.有另一种方法可以通过属性文件解决这个问题,有没有人提供我如何处理它的指针?
我在Spring中有一个添加联系人进程,它将跨越多个页面,First Pages将采用文本输入,第二个页面将采取图像输入,第三个采用显示草稿.
第一页
@RequestMapping("/addContact")
public String registerContact(@ModelAttribute Contact contact) {
return "addContact";
}
@RequestMapping("/addContact")
Run Code Online (Sandbox Code Playgroud)
第二页
@RequestMapping("/addImages")
public String registerImages(@Valid Contact contact, BindingResult result) {
return "addImages";
}
Run Code Online (Sandbox Code Playgroud)
如何在页面之间维护联系人模型数据,以便我可以选择让用户在页面之间移动和泡沫?
我正在学习 Spring 并构建一些实验应用程序。我对在哪里使用 @Autowired 创建对象感到困惑。
我得到了它促进松散耦合的部分,并且每次都创建一个新的对象,而不是'new'关键字所做的。
但是对于我们需要在我们的应用程序中使用的第三方对象,我们应该怎么做。例如,我正在使用一个休息 API,因为我需要初始化三个类,就像这样
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
HttpEntity<String> entity = new HttpEntity<String>("parameters", headers);
restTemplate.exchange(url, HttpMethod.POST, entity, String.class);
Run Code Online (Sandbox Code Playgroud)
这段代码正在为 RestTemplate、HttpHeaders 和 HttpEntity 创建新的对象。使用这段代码,每次我调用 rest API 时,它都会创建三个新对象。这是正确的方法还是我应该将它们标记为@Autowired。请详细说明。
我有一个托管在第三方服务器上的Laravel应用程序.该应用程序正在生产中,并根据用户的使用方式每天生成许多PHP错误.
我想要一个更好的方法来读取laravel.log文件,而不是通过SSH进入服务器并通过VIM读取它.
请告知有什么其他更好的方法来读取日志文件中的错误.
我提供了上传图片的选项,并且图片正在上传到 opt/uploads/contactImages,在 Windows 的情况下是 C:/opt/uploads/contactImages
我想在我的 JSP 中显示图像。为此,我尝试通过在 Host 标签下添加以下标签来配置我的 tomcat。
<Context docBase="/opt/uploads/contactImages/" path="/images" />
Run Code Online (Sandbox Code Playgroud)
但是当我尝试访问时
http://localhost:8080/images/file.png
Run Code Online (Sandbox Code Playgroud)
我收到 404 错误。我哪里出错了?
更新
Servlet web.xml 文件
<web-app id="WebApp_ID" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>Spring Web MVC Application</display-name>
<servlet>
<servlet-name>mvc-dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/mvc-dispatcher-servlet.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
Run Code Online (Sandbox Code Playgroud)
我是Spring的新手我有一个页面addContact,因为我从以下方式获取数据库中的dropDown数据
@RequestMapping("/addContact")
public ModelAndView registerContact(@ModelAttribute Contact contact) {
List<ContactType> contactTypeList = contactdao.getContactTypeList();
Map<Integer,String> contactTypeSelect = new LinkedHashMap<Integer,String>();
Iterator<ContactType> iterator = contactTypeList.iterator();
while (iterator.hasNext()) {
ContactType ct = iterator.next();
contactTypeSelect.put(ct.getContactTypeId(),ct.getContactTypeName());
}
Map<String, Object> map = new HashMap<String, Object>();
map.put("contactTypeSelect", contactTypeSelect);
return new ModelAndView("addContact", "map", map);
}
Run Code Online (Sandbox Code Playgroud)
现在要将数据插入数据库,我有以下方法,
@RequestMapping("/insert")
public String insertData(@Valid Contact contact, BindingResult result, HttpServletRequest request ) {
if (result.hasErrors()) {
return "addContact";
}
else {
HttpSession session = request.getSession();
session.setAttribute("path", request.getSession().getServletContext().getRealPath("/WEB-INF"));
if (contact != null){
contactService.insertData(contact,request);
}
return "redirect:/getList"; …Run Code Online (Sandbox Code Playgroud)