关于session获取j对象

想要if else判断s3是否>=0跳转到postive.jsp或者negative.jsp 下边代码哪里错了
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">


My JSP 'sum.jsp' starting page
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">    
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->


<%

response.setCharacterEncoding("UTF-8");
//String str1=request.getParameter("shuju1");
//String str2=request.getParameter("shuju2");
String str1=(String)session.getAttribute("shuju1");
String str2=(String)session.getAttribute("shuju2");
//double s1=Double.parseDouble(str1);
//double s2=Double.parseDouble(str2);
//double s3=s1+s2;
double s1=Double.parseDouble(str1);
double s2=Double.parseDouble(str2);
double s3=s1+s2;
session.setAttribute("str1","s1");
session.setAttribute("str2","s2");
session.setAttribute("str3","s3");
//request.setAttribute("st1",s1);
//request.setAttribute("st2",s2);
//request.setAttribute("st3",s3);
    if(s3>0){
            response.sendRedirect("postive.jsp");

    }else{
            response.sendRedirect("negative.jsp");
    }

%>

这是sum.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">


My JSP 'input.jsp' starting page
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">    
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->



整数1:

整数2:




这是input.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<title>My JSP 'postive.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">    
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->


利用getAttribute方法获取利用setAttribute方法保存的值,并显示!

<%
Double a1=(Double)session.getAttribute("st1");
Double a2=(Double)session.getAttribute("st2");
Double a3=(Double)session.getAttribute("st3");
%>
<%=a1%>+<%=a2%>=<%=a3%>

利用getParameter方法获取获取请求参数,并显示!

<% //String s1=session.getParameter("shuju1");
//String s2=session.getParameter("shuju2");
String s1=(String)session.getAttribute("shuju1");
String s2=(String)session.getAttribute("shuju2");
%>

<%=s1%>+<%=s2%>=<%=a3%>

结果为正!


这是postive.jsp

楼主你的这个问题其实很简单,应该是你刚开始学jsp的原因。
input.jsp中有一个form,两个input的name分别为shuju1,shuju1
这个form的action为sum.jsp
sum中应该写

 String str1=request.getParameter("shuju1");
String str2=request.getParameter("shuju2");
double s1=Double.parseDouble(str1);
double s2=Double.parseDouble(str2);
double s3=s1+s2;
session.setAttribute("st1",s1);
session.setAttribute("st2",s2);
session.setAttribute("st3",s3);
if(s3>0){
    response.sendRedirect("postive.jsp");
}else{
    response.sendRedirect("negative.jsp");
}

postive.jsp里面再取session里的值就是了啊

 Double a1=(Double)session.getAttribute("st1");
Double a2=(Double)session.getAttribute("st2");
Double a3=(Double)session.getAttribute("st3");

HTTP Status 500 - An exception occurred processing JSP page /sum.jsp at line 30

type Exception report

message An exception occurred processing JSP page /sum.jsp at line 30

description The server encountered an internal error that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /sum.jsp at line 30

27: //double s1=Double.parseDouble(str1);
28: //double s2=Double.parseDouble(str2);
29: //double s3=s1+s2;
30: double s1=Double.parseDouble(str1);
31: double s2=Double.parseDouble(str2);
32: double s3=s1+s2;
33: session.setAttribute("str1","s1");

这是错误提示

是不是没有先获取session的原因

"shuju1","shuju1"有设值吗

session里的"shuju1","shuju2",只看到你get了,没看到你啥时候set的,直接parseDouble不就NullPointerException了

input.jsp中,通过Java代码把输入的值存储到session中去(session.setAttribute()),由于session的作用域比较广,所以能在sum.jsp通过getAttribute方法得到。

你set属性的时候不需要加双引号吧,session.setAttribute("str1",s1);就是后面的这个不需要吧!

多看看jsp这方面的知识。。。。。。。。。。