Java 传递HttpServletRequest参数是如何工作的?
现在,如果我从JSP检索,${fullname}是lastname.concat(firstname)。 让我展示一些基本的java代码,比如我调用serveletTest(“hello”) myString应该仍然是“hello”对吗Java 传递HttpServletRequest参数是如何工作的?,java,spring,servlets,Java,Spring,Servlets,现在,如果我从JSP检索,${fullname}是lastname.concat(firstname)。 让我展示一些基本的java代码,比如我调用serveletTest(“hello”) myString应该仍然是“hello”对吗 对我来说,HttpServletRequest中的getParameter()有意义,但request.setAttribute()没有意义。有人能解释一下这是怎么回事吗?我找到了我想要的答案。X( 请求调度员正在做所有的魔术 据javadoc说, void j
对我来说,HttpServletRequest中的getParameter()有意义,但request.setAttribute()没有意义。有人能解释一下这是怎么回事吗?我找到了我想要的答案。X( 请求调度员正在做所有的魔术 据javadoc说, void javax.servlet.ServletRequest.setAttribute(字符串名称,对象o) 在此请求中存储属性。属性在 此方法通常与 请求调度器 web.xml-->配置Spring MVC Dispatcher Servlet并设置URL映射
public String serveletTest(String myString){
System.out.println(myString);
myString = myString.concat(world);
return "bye world";
}
调度员
org.springframework.web.servlet.DispatcherServlet
上下文配置位置
/WEB-INF/spring-mvc-demo-servlet.xml
1.
调度员
/
request.setAttribute(“fullname”,fullname);将字符串对象“fullname”发送到jsp。如果HttpServletRequest对您有意义,那么request.setAttribute()也应该有意义。如果您重新分配给myString
,您将看到更新的myString
。如myString=myString.concat(world)
。同样的情况也适用于fullName
场景。请检查此问题:myString
仍将是hello
,因为字符串是不可变的。String.concat
不会更改字符串,但会返回一个新字符串,该字符串是concating字符串的结果。
public String serveletTest(String myString){
System.out.println(myString);
myString = myString.concat(world);
return "bye world";
}
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-mvc-demo-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>