Servlet使用jsp

 

Servlet要呼叫(公派jsp页面)jsp跟在jsp中使用javaBeans比走来要简单的多了,主要只是网页传送的技巧而已,在图2虽使用到;

撰写Servlet

Seervlet程序如下:

import java.io.*;

import javax.Servlet.*;

import javax.servlet.http.*;

 

public class HelloWorldServlet extendsHttpServlet{

public void Service (HttpServletRequestrequest, HttpSeervletResponse reponse) throws ServletException, IOException{

 response.setContentType("text/html; charset=big5");

       request.setCharacterEncoding("big5");

        StringtheMessage = "Hello, World!";

        StringtargetURL = "/HelloFromServlet.jsp";

        request.setAttribute("message", theMessage);

        RequestDispatcher rd;

        rd = getServletContext().getRequestDispatcher(targetURL);

        rd.forward(request,response);

}

}.

注意:

1、 之前Servlet程序都是用doGet来处理用户端的Httprequest,这里则改用service.

2、 Request.setAttribute().

3、 RequestDisatcher类别。

4、 getServletContext().

5、 ServletContext类别的getRequestDisatcher()方法。

6、 RequestDisatcher类别的Forward()方法。

撰写jsp:

helloFromServlet.jsp

<%@ page language="java" contentType="text/html;charset=big5" %>
<% String msg = (String)request.getAttribute("message"); %>
<html>
<body>
 servlet 传来的信息: <%= msg %>
</body>
</html>
 

之前的servlet程序使用到了request.setAttribute()这里则用到了request.getAttribute() ,从这里就可以看出来,sevletjsp通过request来储存和传递给对方参数。

程序的运行过程如下:

1.      用户端送出HTTPrequest请求,请求的网址是:http://localhost:8080/myapp/helloWordServlet.

2.      helloworldServlet收到请求后通过request.setAttribute()把要传送给jsp的参数字串“helloWorld”储存在request容器里;

3.      helloWorldSservlet通过servletContext建立requestDispatcher容器,并指定转发的网址。

4.      helloWorldServlet使用RequestDispatcherforwaard()方法,把这次的Http request转发至另一网页,出就是HelloFromServlet.jsp.

5.      jsp先通过request.getAttribute()取得request容器中的属性值,该属性值是在步骤2中由Servlet指定的,最后搭配Html标签显示出来。

我把整个过程书写成了一个循序图,你可以搭配上面的文字说明来了解程序的运行过程;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值