JSP中用request.getParameter(“name”)替代PHP的$_GET[“name”]或$_POST[“name”],需注意返回字符串且可能为null,HTTP方法须用request.getMethod()判断;中文参数需先调用request.setCharacterEncoding(“UTF-8”)。
PHP的$_GET、$_POST在JSP里怎么写
JSP没有全局超全局数组,必须显式从HttpServletRequest对象取值。直接写request.getParameter("name")替代$_GET["name"]或$_POST["name"],注意它只返回字符串(且可能为null),没有自动区分GET/POST——HTTP方法需用request.getMethod()判断。
常见错误:直接套用PHP思维写request["name"]或$_POST.name,会报javax.servlet.ServletException或ELException。
- 若需兼容GET和POST,统一用
request.getParameter("key") - 获取多个同名参数用
request.getParameterValues("key")(对应PHP的$_GET["key"][]) - 中文参数务必在
request.setCharacterEncoding("UTF-8")后调用,否则乱码
JSP里没有echo和print_r等输出函数
JSP默认使用EL表达式${variable}或JSTL 输出,脚本片段中才用out.print()——它才是最接近PHP echo的等价物,但必须确保out已存在(JSP隐式对象)。
print_r($arr)这种调试输出在JSP里没有内置等价物,得手写循环或用java.util.Arrays.toString()(仅限一维数组);复杂结构建议用com.fasterxml.jackson.databind.ObjectMapper转JSON再输出,或直接用IDE调试。
立即学习“PHP免费学习笔记(深入)”;