JSP学习之初识JSP(实现简单的计算器)

IE浏览器->Tomcat->数据库

访问JSP的过程:如果是第一次访问.jsp文件被服务器翻译成一个对应的java文件(Servlet),然后,再被编译成一个.class文件并装载到服务器的内存中。如果以后访问JSP,那就直接调用内存中JSP实例,第一次访问JSP慢,后面访问JSP的速度就会变快了。

<%@page contentType="text/html;charset=gb2312"%>
<html>
<body>
<h1>jsp1</h1>

<% %>这里表示的是java代码片段
<%
  int a=0;
  int b=9;
  int c=a+b;
  out.println("hello,world!,世界"+c);
%>
</body>
</html>

jsp和Servlet是对应关系,JSP是以Servlet为基础的

小示例1:

JSP实现计算器

知识点:

(1)如何接受JSP页面提交的数据,并处理

(2)jsp如何使用java片段

(3)JSP中如何使用JavaScript完成对数据合法性的校验

interFace.jsp界面代码(负责界面的显示,以及向result提交数据):

<!-- 这是计算器的界面-->
<%@page contentType="text/html;charset=gb2312"%>
<html>
<head>
	<!--在jsp中添加jsp代码,防止用户空提交-->
	<script language="javascript">
		//写一个函数判断用户是不是提交空的
		function checkNum(){
			if(form1.num1.value==""){
				window.alert("num1,不能为空haha");
				return false;
			}
			//判断num1,是不是一个数
			if(Math.round(form1.num1.value)!=form1.num1.value){
				window.alert("num1,不是一个数");
				return false;
			}
		}
	</script>
</head>
	<body>
		<h1>我的计算器</h1>	
		<hr>
		<form name="form1" action="result.jsp">
			请输入第一个数:<input type="text" name="num1"><br/>
			<select name="flag">
				<option value=+>+</option>
				<option value=->-</option>
				<option value=*>*</option>
				<option value=/>/</option>
			</select><br/>
			请输入第二个数:<input type="text" name="num2"><br/>
			<input type="submit" value="计算" οnclick="return checkNum();"><!--点击后会调用JavaScript脚本,这里通过return返回给form-->
		</form>
		<hr>
	</body>
</html>

result.jsp界面代码(负责数据的处理):

<!--得到数据并且显示-->
<%@page contentType="text/html;charset=gb2312"%>
<html>
<head>

</head>
<body>
<%
	//接收第一个数(通过request接收,request类似Servlet中的HttpRequestServlet)
	String s_num1=request.getParameter("num1");
	//接收第二个数
	String s_num2=request.getParameter("num2");
	//接收运算符号
	String flag=request.getParameter("flag");

	int num1=0;
	int num2=0;
	int result=0;

	//java中 String ->int
	num1=Integer.parseInt(s_num1);
	num2=Integer.parseInt(s_num2);


	//计算
	if(flag.equals("+"))
	{
		result=num1+num2;
	}else if(flag.equals("-")){
		result=num1-num2;
	}else if(flag.equals("*")){
		result=num1*num2;
	}else{
		result=num1/num2;
	}
	//输出结果
	out.println("结果是:"+result);
%>
</body>
</html>

小示例2:

按如下的目录结构,在Tomcat服务器下建立文件夹MyJspSite以及文件hello.jsp,目录结构如下:



以下是hello.jsp的代码:

<%@page contentType="text/html;charset=gb2312"%>
<html>
<body>
<h1>jsp1</h1>
<%
  out.println("hello,world!,世界");
%>
</body>
</html>

启动Tomcat后,在浏览器输入地址后显示如下:


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章