2016-10-07 3 views
0

Spring 4와 Hibernate 5를 사용 중입니다.jsp에서 Spring 4의 컨트롤러로 요청을 보내는 방법은 무엇입니까?

jsp 페이지에서 컨트롤러로 요청을 전달하는 방법을 알고 싶습니다.

아래와 같은 페이지가 있습니다.

이 점점 오류

* 메시지 /Spring_Hibernate_MVC/forgotPsw.do 요청한 리소스를 사용할 수없는

설명입니다. *

ForgotPassword.js

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
    pageEncoding="ISO-8859-1"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Forgot Password</title> 
</head> 
<body> 
    <div id="DivForgotPsw"> 
     <form action="forgotPsw.do" method="get"> 
      <table> 
       <tr> 
        <th>Enter your email id.</th> 
       </tr> 
       <tr> 
        <td><input type="text" name="email"></td> 
       </tr> 
       <tr> 
        <td><input type="submit" value="Send"></td> 
       </tr> 
      </table> 
    </div> 
    </form> 
</body> 
</html> 

있는 hibernate.cfg.xml

<servlet> 
     <servlet-name>spring</servlet-name> 
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
     <init-param> 
      <param-name>contextConfigLocation</param-name> 
      <param-value>/WEB-INF/spring.xml</param-value> 
     </init-param> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>spring</servlet-name> 
     <url-pattern>*.do</url-pattern> 
    </servlet-mapping> 

ForgotPswController.java

@Component 
@RequestMapping(name="/") 
public class ForgotPswController { 

    @Autowired 
    private JavaMailSender javaMailSender; 



    public ForgotPswController() { 
     System.out.println(this.getClass().getSimpleName()+" created..."); 
    } 

    @RequestMapping(value="/forgotPsw.do" , method = RequestMethod.GET) 
    public void send(HttpServletRequest request){ 

     MimeMessage message = javaMailSender.createMimeMessage(); 
     MimeMessageHelper helper; 

     try { 
      helper = new MimeMessageHelper(message, true); 
      helper.setSubject("Reset Your Jspiders Account."); 
      helper.setTo(request.getParameter("email")); 
      helper.setText("Hello User", true); 

      javaMailSender.send(message); 

     } catch (MessagingException e) { 


      e.printStackTrace(); 
     } 
    } 
} 

답변

0

먼저 확인하는 전체 요청을 가져보십시오.

String req = request.getQueryString(); 

이 요청에서 매개 변수는 일부 네임 스페이스와 함께 저장 될 수 있습니다. 그런 다음 그 이유를 알아야합니다. Object로 일부 정보를 얻을 수

<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%> 
<form:from ... modelAttribute=forgotPsw> 
<form:input path="email"/> 
... 

를 사용

형태로 변환하는 것이 더 쉬울 수 있습니다.

@RequestMapping(value="/forgotPsw.do" , method = RequestMethod.GET) 
public void send(@ModelAttribute("forgotPsw")ForgotPsw forgotPsw){ 

class ForgotPsw { 

    private String email; 
    //getter and setter 
} 
+0

내 요청은 컨트롤러에 연결되지 않습니다. 그게 문제라고 생각합니다 ... ??? 해결 방법. 요청이있는 경우 해당 방법이 표시되지 않습니다. request.getQueryString(); –

+0

그래서 ForgotPassword.js가 다른 앱의 형태라는 것을 이해하면. 이 경우 필자는이 함수 getQueryString을 사용하여 요청 매개 변수를 디버그하려고 시도하지만 param 메일이 있는지 확인해야합니다. 이것은 "[email protected]"과 같아야합니다. 당신이 그것을 가지고 있지 않다면, sth가이 요청에 틀릴 수도 있음을 의미합니다. – chmielu

관련 문제