[JavaBean]jsp调用java class
jsp我们知道怎么写了,java我们也会了,现在我们需要从jsp里怎么读取我java里写的函数呢?
这一个过程专业述语叫做:JavaBean
一、 编写java函数
1. 这个java函数跟普通的函数有那一点点的区别,他是需要添加一个包,在jsp里调用是通过包来找到你要调用的函数。
下面我们编写一个简单得再简单不过的小函数,设置一个字符串,返回一个字符串。
package test; //package 必须要有,要不jsp要调用那一个包下的类 public class HelloWorld {
public String saySomething; public HelloWorld(){ saySomething = "hello!"; }
//修改saySomething的值 public void setSaySomething(String saySomething){ this.saySomething = saySomething; }
//获取saySomething的值
public String getSaySomething(){ return saySomething; } }
保存为 HelloWorld.java,把编译出HelloWorld.class拷贝到:apache-tomcat-7.0.27\webapps\ROOT\WEB-INF\classes\test\目录下
好像必须得放到classes目录下,test(跟package包名相同),HelloWorld.java(跟类名相同)
2. 编写jsp页面调用
<!--需要显示中文,所以把编码改成gb2312-->
<%@ page language="java" contentType="text/html;charset=gb2312" pageEncoding="gb2312"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>你好 JSP Page.</title> </head> <body> <font size="10">
<!--id 就像我们在调用类的时候创建一个对像,同等于: test.HelloWorld say = new test.HelloWorld();--> <jsp:useBean id="say" class="test.HelloWorld" scope="page" /> <% String somethingToSay = ""; somethingToSay = say.getSaySomething(); out.println(somethingToSay); //输出默认值:hello! %> </br> <% say.setSaySomething("my name is cqf!");//改变值 somethingToSay =say.getSaySomething();//重新获取 out.println(somethingToSay);//输出为:my name is cqf!
%>
</font>
</body>
</html>
把jsp页面保存到:\apache-tomcat-7.0.27\webapps\ROOT\下面,命名为:LoveJsp.jsp
的浏览器里输入:http://localhost:8080/LoveJsp.jsp 显示结果如下: