实例
终于开始编码了,现在我们将会编写helloBean.java和helloServlet.java文件,很显然,两个文件是分别通过javabean和servlet的方式在页面上显示“hello,你好!”的。先让我们来看看使用javabean的实现方法吧。
其实javabean就是一个普通的java类文件,不过需要满足一些特性,比如说:javabean文件里需要一个本类的无参构造函数,属性的get/set方法等。关于javabean的更详细的资料可以参考其他书籍。其实可以把javabean理解为一个提供方法的类,然后在jsp里创建该类的对象,通过这个对象来调用相应的方法而已。Javabean就这么简单。为了让大家容易理解,下面是一个简单的javabean文件。
//helloBean.java
package hello;
public class helloBean {
private String str = "hello,你好!";
public helloBean() {}
public String getStr() {
return str;
}
public void setStr(String _str) {
str = _str;
}
}
在上面的程序中,helloBean有一个属性str,并有与该属性配对的getStr和setStr方面。既然之前说是要在jsp里显示str的内容,那么应该有一个jsp页面来调用它吧,下面我们就来看这个jsp页面是如何实现的:
<%@ page contentType="text/html;charset=gb2312"%>
<html>
<head>
<title>helloBean Test</title>
</head>
<body>
<jsp:useBean id="helloBean" scope="session" class="hello.helloBean" />
<%= helloBean.getStr() %>
<br>
<% helloBean.setStr("Hello,world!"); %>
<% out.print(helloBean.getStr()); %>
</body>
</html>
上面的代码很短,但已经足够实现我们所需要的操作了,关键语句在<body>标签里,正如我们之前所说,先创建一个名为helloBean的对象,说明它的使用范围和类文件所在地址;接下来则是调用getStr方法获得str的值并显示;最后修改str的值后,再次读取该值并显示在屏幕上。
不过怎样来测试现有的代码呢?这个问题很简单,我们使用的web服务器是tomcat,我们在tomcat在进入webapps目录,为了不和其他项目混淆,我们先为这个项目建立一个文件夹,我取名字为jsp-test;然后在jsp-test里建立WEB-INF文件夹,这个文件夹里存放着这个项目的类文件(classes)、库文件(lib)和配置文件(web.xml)等。因为当客户请求该项目时tomcat服务器会自动根据配置文件在WEB-INF文件下寻找相应的文件,并做出响应。好了,我们现在就试试helloBean,我们得先把helloBean.java编译成helloBean.class文件,如刚才所说,我们把编译好的helloBean.class文件存放到WEB-INF目录下,起目录结构为:D:\apache-tomcat-5.5.15\webapps\jsp-test\WEB-INF\classes\hello。因为helloBean.java在hello下,所以helloBean.class也在hello包下,符合相应的包结构。然后再把helloBean.jsp文件保存到jsp-test目录下即可。还不快点启动tomcat,看看我们的成果,访问地址就是之前我们的测试地址加上项目名和文件名,即http://localhost:8080/jsp-test/helloBean.jsp。呵呵,看见效果了吧,下面我们将学习一个简单的servlet。
其实servlet跟javabean一样,也是一个java类文件,并满足一些特殊要求,如:需要继承Servlet或HtppServlet类等。我们主要是是servlet的GET和POST方法来响应页面请求。一个简单的servlet代码如下:
//helloServlet.java
package hello;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class helloServlet extends HttpServlet {
protected void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out=response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>");
out.println("helloServlet Test");
out.println("</title>");
out.println("</head>");
out.println("<body>");
out.println("hello,你好!");
out.println("</body>");
out.println("</html>");
out.flush();
}
}
可能你也注意到了,helloServlet除了继承了HttpServlet类外,不管是POST还是GET方法时,都是在doPost方法中实现的,这些为了程序的简单易读。当然了,你也可以根据不同的要求来修改代码。还值得注意的是,输出语句里的信息其实就是一个基本的html代码,这也是响应给客户端的信息。同样的,要运行该servlet也需要一个jsp来实现:
<%@ page contentType="text/html;charset=gb2312"%>
<html>
<head>
<title>helloServlet Test</title>
</head>
<body>
<form method="post" action="/jsp-test/hello/helloServlet">
<input type="submit" value="测试servlet">
</form>
</body>
</html>
这个jsp代码很简单,就是当表单里的按钮按下时,通过post方法响应action。还记得先前我说过的配置文件吗?因为调用servlet前需要在配置文件里说明servlet类存放的地址和映射地址,所以我们编写一个web.xml文件如下:该文件应存放在WEB-INF目录下。
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<servlet>
<servlet-name>helloServlet</servlet-name>
<servlet-class>hello.helloServlet</servlet-class>
</servlet>
分享到:
相关推荐
JSP入门教程珍藏版 JSP入门教程珍藏版 JSP入门教程珍藏版 JSP入门教程珍藏版 JSP入门教程珍藏版 JSP入门教程珍藏版
Floatfly 个人博客系统 JSP入门版 V1.0 与上一个 asp版本的相比较,功能上基本一样,由于是入门版,用的基本都是最基础的东西。只在截取字符串和 md5加密上用到了两个javaBeans,由于用的是以前的模版,一个星期就...
JSP入门JSP入门JSP入门JSP入门
最新JSP入门与应用(PDG).rar 最新JSP入门与应用(PDG).rar 最新JSP入门与应用(PDG).rar
JSP入门与提高,希望对你有帮助
JSP入门编程JSP入门编程JSP入门编程
JSP基础入门教程
一个不错JSP入门教程.
这个文档可以用于没有jsp基础的朋友们做入门使用, 也可以当做一些教学教案的参考,希望可以帮到你们, 如有任何问题,请联系我进行沟通
JSP全称Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以开头以%>结束。本文给大家带来JSP参考手册,需要的朋友们可以参考下! JSP是一种Java servlet,主要用于...
jsp入门教程
JSP速成,很好的jsp入门教程JSP速成,很好的jsp入门教程
亲爱的朋友,你们好吗?如果你想用 jsp 做网站, 小程序,或者其他什么东西,那么你算是找对地方了。我们这份教程正好是介绍这些的。
Floatfly 个人博客系统 JSP入门版 V1.0 与上一个 asp版本的相比较,功能上基本一样,由于是入门版,用的基本都是最基础 的东西。只在截取字符串和 md5加密上用到了两个 javaBeans,由于用的是以前的模版,一个星期...
jsp入门书籍 jsp2.0手册 jsp入门书籍 jsp2.0手册
JSP的入门书籍,word版,内容基础详细,是本JSP入门的好书,希望对大家有用。
入门使用 jsp WEB信息处理技术 jsp入门必须资料
JSP入门教程 经典 易懂 一定会学通jsp的
第一单元 JSP入门知识.pdf 第二单元 JSP程序设计基础.pdf 第三单元 JSP页面语法.pdf 第四单元 JSP内置对象.pdf 第五单元 JSP访问数据库.pdf 第六单元 在JSP中应用JavaBean.pdf 第七单元 Servlet.pdf 第八单元 JSP...