下面一段代码,直接打开,没有错误,但通过链接打开,却出现异常,请问该怎么解决
<%@page contentType="text/html;charset=gb2312"%>
<%@page import="java.sql.*"%><HTML>
<HEAD>..
</HEAD>
<BODY>
<form name="sel" method="post" action="tb.jsp">
<table>
<td>
<select name="ad" id='ad' selected="请选择">
<option value="选择">请选择 </option>
<option value="设备">设备 </option>
<option value="班级">班级 </option>
<option value="教室">教室 </option>
<option value="用户">用户 </option>
</select>
</td>
<td>
<input type="submit" name="submit" value="确定">
</td>
</table>
</form>
<%
//String p =request.getParameter("ad");
String p =new String (request.getParameter("ad").getBytes("ISO8859-1"));
String p1="设备";
String p2="班级";
String p3="教室";
String p4="用户";
if (p1.equals(p))
{
out.println("成功了");
%>
<form name="form1" method="post" action="tb.jsp"><%//表单1%>
<table>
<tr>
<td><font=5>你进行的操作是</font></td>
</tr>
<tr>
<td bgcolor=pink>设备添加</td>
</tr>
<tr>
<td>请输入下列信息:</td>
</tr>
</table>
<table cols=2>
<tr>
<td>设备号  :</td>
<td>
<input type="text" name="devno"></td>
<tr>
<td>设备类别:</td>
<td>
<input type="text" name="devclass"><td>
<tr>
<td>出产商  :</td>
<td>
<input type="text" name="devfactory"><td>
<tr>
<td>价 格  :</td>
<td><input type="text" name="devprice"><td>
<tr>
<td>使用状态:</td>
<td><input type="text" name="devstate"><td>
<tr>
<td>教室编号:</td>
<td> <input type="text" name="labno"><td>
</table>
<tr>
<td><input type="submit" value="提交"></td>
</form>
<%}
else
{
if(p2.equals(p))
{
out.println("你选择了班级");
}
else
{
if(p3.equals(p))
{
out.println("你选择了教室");
}
else
{
if(p4.equals(p))
{
out.println("用户添加");
}
else
{
out.println("请选择");
}
}
}
//out.println("请选择");
}
%></BODY>
</HTML>
通过链接过去,出现的异常信息如下:
org.apache.jasper.JasperException: Exception in JSP: /device/tb.jsp:2421: </form>
22: <%
23: //String p =request.getParameter("ad");
24: String p =new String (request.getParameter("ad").getBytes("ISO8859-1"));
25: String p1="设备";
26: String p2="班级";
27: String p3="教室";
exception org.apache.jasper.JasperException: Exception in JSP: /device/tb.jsp:2421: </form>
22: <%
23: //String p =request.getParameter("ad");
24: String p =new String (request.getParameter("ad").getBytes("ISO8859-1"));
25: String p1="设备";
26: String p2="班级";
27: String p3="教室";
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause java.lang.NullPointerException
org.apache.jsp.device.tb_jsp._jspService(tb_jsp.java:66)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.25 logs.
--------------------------------------------------------------------------------
<%@page contentType="text/html;charset=gb2312"%>
<%@page import="java.sql.*"%><HTML>
<HEAD>..
</HEAD>
<BODY>
<form name="sel" method="post" action="tb.jsp">
<table>
<td>
<select name="ad" id='ad' selected="请选择">
<option value="选择">请选择 </option>
<option value="设备">设备 </option>
<option value="班级">班级 </option>
<option value="教室">教室 </option>
<option value="用户">用户 </option>
</select>
</td>
<td>
<input type="submit" name="submit" value="确定">
</td>
</table>
</form>
<%
//String p =request.getParameter("ad");
String p =new String (request.getParameter("ad").getBytes("ISO8859-1"));
String p1="设备";
String p2="班级";
String p3="教室";
String p4="用户";
if (p1.equals(p))
{
out.println("成功了");
%>
<form name="form1" method="post" action="tb.jsp"><%//表单1%>
<table>
<tr>
<td><font=5>你进行的操作是</font></td>
</tr>
<tr>
<td bgcolor=pink>设备添加</td>
</tr>
<tr>
<td>请输入下列信息:</td>
</tr>
</table>
<table cols=2>
<tr>
<td>设备号  :</td>
<td>
<input type="text" name="devno"></td>
<tr>
<td>设备类别:</td>
<td>
<input type="text" name="devclass"><td>
<tr>
<td>出产商  :</td>
<td>
<input type="text" name="devfactory"><td>
<tr>
<td>价 格  :</td>
<td><input type="text" name="devprice"><td>
<tr>
<td>使用状态:</td>
<td><input type="text" name="devstate"><td>
<tr>
<td>教室编号:</td>
<td> <input type="text" name="labno"><td>
</table>
<tr>
<td><input type="submit" value="提交"></td>
</form>
<%}
else
{
if(p2.equals(p))
{
out.println("你选择了班级");
}
else
{
if(p3.equals(p))
{
out.println("你选择了教室");
}
else
{
if(p4.equals(p))
{
out.println("用户添加");
}
else
{
out.println("请选择");
}
}
}
//out.println("请选择");
}
%></BODY>
</HTML>
通过链接过去,出现的异常信息如下:
org.apache.jasper.JasperException: Exception in JSP: /device/tb.jsp:2421: </form>
22: <%
23: //String p =request.getParameter("ad");
24: String p =new String (request.getParameter("ad").getBytes("ISO8859-1"));
25: String p1="设备";
26: String p2="班级";
27: String p3="教室";
exception org.apache.jasper.JasperException: Exception in JSP: /device/tb.jsp:2421: </form>
22: <%
23: //String p =request.getParameter("ad");
24: String p =new String (request.getParameter("ad").getBytes("ISO8859-1"));
25: String p1="设备";
26: String p2="班级";
27: String p3="教室";
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause java.lang.NullPointerException
org.apache.jsp.device.tb_jsp._jspService(tb_jsp.java:66)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.25 logs.
--------------------------------------------------------------------------------
24: String p =new String (request.getParameter("ad").getBytes("ISO8859-1"));
这里 进行:request.getParameter("ad") 获取值时获取不到"ad"的值,就会报“NullPointerException”异常
我想应该是这样了,其实你完全可以吧那段java代码放到一个Servlet中去做
把这段代码改一下
24: String p =new request.getParameter("ad")
if(p!=null){
p=p.getBytes("ISO8859-1"));
}