实验11通过JSP页面调用Servlet 一、实验目的 L.了解servlet技术、servlet的应用。 2.掌握servlet的生命周期和常用的类接口。 3.很好地处理Servlet与JSP之间的关系,灵活应用SP开发网站。 4掌握Servlet的结构、接口方法和生命周期等概念,学会使用Servlet进行编程 二、实验要求 1.上机调试运行课上所讲JSP页面。 2.编写一个简单的购书网站:第1个页面选择要购买的书和购买数量,按购买按钮进 入第2个页面,在第2个页面中显示购买的书名和数量。 三、实验内容 (一)调试所给程序 giveRadius.jsp ODYoChanet-G212 ont size=3> <FORM action="servlet/Computer"method=post> <BR>输入圆的半径:Input Typ -text name=radius 提交 giveRadius1.jsp hmChars-3 BODY ><Font size=3> <BR ><A href=-"servlet/Computer?radius=8">求圆的面积<A> </Font></BODY></HTML>
实验 11 通过 JSP 页面调用 Servlet 一、实验目的 1.了解 servlet 技术、servlet 的应用。 2.掌握 servlet 的生命周期和常用的类接口。 3.很好地处理 Servlet 与 JSP 之间的关系,灵活应用 JSP 开发网站。 4 掌握 Servlet 的结构、接口方法和生命周期等概念,学会使用 Servlet 进行编程 二、 实验要求 1.上机调试运行课上所讲 JSP 页面。 2.编写一个简单的购书网站:第 1 个页面选择要购买的书和购买数量,按“购买”按钮进 入第 2 个页面,在第 2 个页面中显示购买的书名和数量。 三、 实验内容 (一) 调试所给程序 giveRadius.jsp <%@ page contentType="text/html;Charset=GB2312" %> <HTML><BODY ><Font size=3> <FORM action="servlet/Computer" method=post> <BR>输入圆的半径:<Input Type=text name=radius> <Input Type=submit value="提交"> </FORM> </Font></BODY></HTML> giveRadius1.jsp <%@ page contentType="text/html;Charset=GB2312" %> <HTML><BODY ><Font size=3> <BR><A href="servlet/Computer?radius=8">求圆的面积</A> </Font></BODY></HTML>
Computer.java package star.moon; mport java.io. ends HttpServlet nit(c nfig): letConfig config)throws ServletException {response.setContentType("text/html;charset=GB2312"): PrintWriter out=response.get Writer(); out.printIn("<html>body>"); String str=request.getParameter("radius'",∥获取客户提交的信息 double r=0; try r=Double.parseDouble(str); if>=0) {out.print("<BR>半径是"+r+"的圆的面积:"方 out.print("<BR>"+Math.PI*r*r); else out.print("<BR>圆的半径不可以是负数:"+r, catch(NumberFormatException e) {out.print("Hl>请输入数字字符!<Hl>")方 out.println("</body></html>"). (二)编写一个简单的购书网站:第1个页面选择要购买的书和 购买数量,按“购买”按钮进入第2个页面,在第2个页面中显示 购买的书名和数量。 buy.jsp <%page language="java"import="java.util.+,myclass.*"pageEncoding="gb2312"%> <htmb> <head> </head> <body>
Computer.java package star.moon; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class Computer extends HttpServlet { public void init(ServletConfig config) throws ServletException { super.init(config); } public void service(HttpServletRequest request,HttpServletResponse response) throws IOException { response.setContentType("text/html;charset=GB2312"); PrintWriter out=response.getWriter(); out.println("<html><body>"); String str=request.getParameter("radius"); //获取客户提交的信息 double r=0; try{ r=Double.parseDouble(str); if(r>=0) { out.print("<BR>半径是 "+r+" 的圆的面积:"); out.print("<BR>"+Math.PI*r*r); } else { out.print("<BR>圆的半径不可以是负数:"+r); } } catch(NumberFormatException e) { out.print("<H1>请输入数字字符! </H1>"); } out.println("</body></html>"); } } (二)编写一个简单的购书网站:第 1 个页面选择要购买的书和 购买数量,按“购买”按钮进入第 2 个页面,在第 2 个页面中显示 购买的书名和数量。 buy.jsp <%@ page language="java" import="java.util.*,myclass.*" pageEncoding="gb2312"%> <html> <head> </head> <body>
<p>欢迎来到购物页面!<p> jsp:useBean id="shop"clas -"myclass shoppingCart"scope="session" "post select name <option value="三国演义">三国演义<option> <option value="水浒传>水浒传<option> <option value=-"科林童话">科林童话<option> 0 auc-"红楼梦">红楼梦<opti option value= "西游记">西游记<option </select></br></br 数量:<input type="text"name="mount'"P<br><br> wstyle-"padding20px0px0px50pale=提交 <input type="submit" <diw≥ </form> </body> </html> Myservlet.java package myservlet mport java.1o.1OException. import java.io.Print Writer, import myservlet.database import javax.servlet.RequestDispatcher. import lavax servlet ServletException. import javax servlet.http.HttpServlet import javax.servlet.http.HttpServletRequest. import javax.servlet.http.HttpServletResponse public class myservlet t extends HttpServlet public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException doPost(request,response). public void doPost(HupServletRequest request.HutpServletResponse response) throws Servle ception,IOException 设置字符编码信息
<p>欢迎来到购物页面!</p> <jsp:useBean id="shop" class="myclass.shoppingCart" scope="session" /> <form action="myservlet" method = "post"> 书名称:<select name = "name"> <option value="三国演义">三国演义</option> <option value="水浒传">水浒传</option> <option value="科林童话">科林童话</option> <option value="红楼梦">红楼梦</option> < option value="西游记">西游记</option> </select></br></br> 数量:<input type ="text" name ="mount" /></br></br> <div style="padding:20px 0px 0px 50px;"> <input type ="submit" name ="submit" value="提交" /> </div> </form> </body> </html> Myservlet.java package myservlet; import java.io.IOException; import java.io.PrintWriter; import myservlet.database; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class myservlet t extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //设置字符编码信息
request.setCharacterEncoding("GBK") response.setCharacterEncoding("GBK"). String name; String number. boolean flag=false. name=request.getParameter("name") number=request.get arameter("mount") request.setCharacterEncoding("gb2312"); request.getSession().setAttribute("name",name). request getSessionO setAttribute(mountmount) Reques Dispatcher dispatcher request.getRequestDispatcher(" /show.jsp") dispatcher.forward(request,response). Show.jsp 0% page language="java"import="java utilmyclass"pageEncoding="gb2312 <htm <head </head> <body> <p>欢迎来到购物页面!<p> <% request.setCharacterEncoding("GBK"). response.setCharacterEncoding(GBK"): String name=session.getAttribute("name"); String number=session getAttribute("mount): 您购买的书名为:<%=name%> 数量为:<%=number% </body> </html>
request.setCharacterEncoding("GBK"); response.setCharacterEncoding("GBK"); String name; String number; boolean flag=false; name=request.getParameter("name"); number=request.getParameter("mount"); request.setCharacterEncoding("gb2312"); request.getSession().setAttribute(“name”,name); request.getSession().setAttribute(“mount”,mount); RequestDispatcher dispatcher = request.getRequestDispatcher("./show.jsp"); dispatcher.forward(request, response); } } Show.jsp <%@ page language="java" import="java.util.*,myclass.*" pageEncoding="gb2312"%> <html> <head> </head> <body> <p>欢迎来到购物页面!</p> <% request.setCharacterEncoding("GBK"); response.setCharacterEncoding("GBK"); String name=session.getAttribute(“name”); String number= session.getAttribute(“mount”); %> 您购买的书名为:<%=name%> 数量为:<%=number%> </body> </html>