有几种解决方案:
1,在出现编码的地方都统一用utf-8,这样类似new String(authoritygetBytes("ISO-8859-1"),"gbk")这样的转码 *** 作可以不用(servlet里,jsp或html里面都要检查一下);
2,其实你这种情况下市不需要用非英文字符的,radio类型的authority的value=“普通用户”或“经理”完全可以用"0","1"这些来代替,而ASCII字符在大多数编码里是一致的,从而可以规避乱码;
3,第三种方法可能是你想要的,据我判断,问题可能出在“表单代码”,你看看其编码是否是"ISO8859-1",否则转码是不对的。
有问题再联系
1、编写JSP页面(例如indexjsp),包含一个表单,用于提交数据:
2、编写Servlet(例如ProcessServlet),用于处理表单提交的数据:
3、编写JSP页面(例如resultjsp),用于显示处理结果:
在这个示例中,当用户提交表单时,表单数据会被提交到ProcessServlet中进行处理。ProcessServlet会将处理结果存储到request对象中,并将请求转发到resultjsp页面。resultjsp页面会从request对象中获取处理结果,并将其显示在页面上。
文件的上传路径是你控制的
BufferedOutputStream out = new BufferedOutputStream(
new FileOutputStream(new File("/webapps/fileupload/upload/" + fileName)));
for(Enumeration e = regetParameterNames();ehasMoreElements();){
String name = enextElement()toString();
String value = regetParameter(name);
//name 为页面中的name属性。value为输入框的值
}
在servlet中应该是获取提交的文件流,而不是获取文件的路径然后通过路径获取流。你要搞清楚,你的JSP页面是面向客户端的。而你的servlet是在服务器上运行的,在服务端获取客户端文件的路径完全没有意义,也获取不到。
兄弟。。 我给你说两点
你首先检查数据是否提交过来了
2 if(ch == "1"){ 你改为 "1"equals(ch)
== 不适合用在这样的地方
<form action="/ursevlet">
<input type="checkbox" name="fruit" value ="apple">苹果<br>
<input type="checkbox" name="fruit" value ="orange">桔子<br>
<input type="checkbox" name="fruit" value ="mango">芒果<br>
</form>
通过下面得到复选框所选的值
String[] values = requestgetParameterValues("fruit") ;
if(values!=null&&valueslength>0) {
for(int i= 0 ;i<valueslength;i++)
outprintln(values[i]) ;
}
以上就是关于在servlet获取表单的值,打印输出的是问号全部的内容,包括:在servlet获取表单的值,打印输出的是问号、Java Web编程技术作业求助,谢谢!、java servlet 怎么获取表单里上传的文件的路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)