小实例说明:

    a)实现一个由JSP负责前台显示,Servlet负责后台处理的交互小实例

    b)JSP页面由表单获取一个开始数字,一个结束数字,交给Servlet打印响应的乘法表。

未解决的问题:

    a)跳转貌似不能识别目录中的HTML文件,所以我把源码复制到JSP中,结果能找到。

    b)Servlet获取到JSP传过来的数据后,如果想在JSP页面out.print相关的JS代码貌似不能实现

      目前的效果是:在当前的Servlet页面弹出了JS alert()弹窗

             再重定向回之前的JSP页面。

源码:

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<style>h1{margin:0 auto;text-align: center;}h3{margin:0 auto;text-align: center;margin-bottom: 40px;}.contair{margin:0 auto;background-color:yellow;width: 400px;padding: 20px 40px;}
</style><body>
<% Boolean islarger=false;Boolean iserror=false;islarger=(Boolean)request.getAttribute("Larger");if(islarger!=null){if(islarger==true){out.println("<Script>");String message="初始数字大于结束数字!";out.println("alert('"+message+"')");out.println("</Script>");}}iserror=(Boolean)request.getAttribute("error");if(iserror!=null){if(iserror==true){out.println("<Script>");String message="输入的内容有误!";out.println("alert('"+message+"')");out.println("</Script>");}}%>
<h1>Html与Servlet设计模式实例1</h1>
<hr>
<div class="contair"><h3>打印乘法表</h3><form method="post" action="FS">初始数字:<input type="text" name="begin"><br>结束数字:<input type="text" name="end"><br><hr><input type="submit" value="提交"><input type="reset"  value="清空"></form></div></body>
</html>

package firstServlet;import java.io.IOException;
import java.io.PrintWriter;import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.jasper.tagplugins.jstl.core.Out;@WebServlet("/FS")
public class FS extends HttpServlet {private static final long serialVersionUID = 1L;String message;/*** @see HttpServlet#HttpServlet()*/public FS() {super();message="helloworld";// TODO Auto-generated constructor stub
    }/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)*/protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stub
        doPost(request, response);}/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)*/protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubresponse.setContentType("text/html;charset=utf-8");PrintWriter out=response.getWriter();String Start=request.getParameter("begin");String End=request.getParameter("end");try {int SN=Integer.parseInt(Start);int EN=Integer.parseInt(End);if(SN>EN){boolean isLarger=true;request.setAttribute("Larger", isLarger);request.getRequestDispatcher("servletcom.jsp").forward(request, response);}else{request.setAttribute("SN", SN);request.setAttribute("EN", EN);RequestDispatcher dispatcher=request.getRequestDispatcher("Result");dispatcher.forward(request, response);}} catch (Exception e) {// TODO: handle exceptionboolean isError=true;request.setAttribute("error", isError);request.getRequestDispatcher("servletcom.jsp").forward(request, response);}}}

package firstServlet;import java.io.IOException;
import java.io.PrintWriter;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;/*** Servlet implementation class Result*/
@WebServlet("/Result")
public class Result extends HttpServlet {private static final long serialVersionUID = 1L;/*** @see HttpServlet#HttpServlet()*/public Result() {super();// TODO Auto-generated constructor stub
    }/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)*/protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stub
        doPost(request, response);}/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)*/protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubresponse.setContentType("text/html;charset=utf-8");PrintWriter out=response.getWriter();out.println("<h1>运算结果</h1>");int SN=(int)request.getAttribute("SN");int EN=(int)request.getAttribute("EN");out.println("<hr>");out.print("起始数字:"+SN+"   终止数字:"+EN);out.println("<hr>");for(int i=SN;i<=EN;i++){for(int j=SN;j<=i;j++){out.print(i);out.print("*");out.print(j);out.print("=");out.print(i*j);out.print("         ");}out.print("<br>");}}}

效果实例:

alert()弹窗:

转载于:https://www.cnblogs.com/rekent/p/6947354.html

JSP/Servlet Web 学习笔记 DayFour —— 实现一个简单的JSP/Servlet交互相关推荐

  1. tensorflow学习笔记二——建立一个简单的神经网络拟合二次函数

    tensorflow学习笔记二--建立一个简单的神经网络 2016-09-23 16:04 2973人阅读 评论(2) 收藏 举报  分类: tensorflow(4)  目录(?)[+] 本笔记目的 ...

  2. Django学习笔记2:一个简单的开发实例

    Technorati 标签: Python,Django 目标:通过开发一个简单的Todo管理应用,熟悉Django的基本概念.和使用. 运行环境 Windows Vista + Python 2.7 ...

  3. ROS2学习笔记13--编写一个简单的发布器和侦听器(C++)

    概要:这篇主要介绍编写发布器和侦听器的简单套路(C++) 环境:ubuntu20.04,ros2-foxy,vscode 最后如果没有陈述实操过程中碰到问题的话,则表示该章节都可被本人正常复现. 2. ...

  4. JSP自定义标签学习笔记

    http://blog.csdn.net/liangbinny/article/details/6309893 本文是本人学习<JavaWeb学习>书籍所记下的学习笔记 一.概述 JSP ...

  5. java web学习笔记(持续更新)

    java web学习笔记 一.Java Web简介 二.认识Servlet 1.什么是Servlet? 2.请求路径 3.tomcat 4.Servlet的使用 三.Servlet简单应用 1.创建S ...

  6. 2019年Java Web学习笔记目录

    Java Web学习笔记目录 1.Java Web学习笔记01:动态网站初体验 2.Java Web学习笔记02:在Intellij里创建Web项目 3.Java Web学习笔记03:JSP元素 4. ...

  7. web学习笔记-html-html新增

    CCS学习系列笔记 web学习笔记–css(1) web学习笔记–css(2) web学习笔记–css(3) web学习笔记-html-html新增 1.html基本发展 2.h5新增的功能 3.新增 ...

  8. 【慕课网】Web学习笔记———CSS3 (一)

    [Web学习笔记]CSS3 (一) CSS3代码语法 CSS注释代码 CSS样式 内联式css样式 嵌入式css样式 外部式css样式 权值 CSS3选择器 标签选择器 类选择器 ID选择器 类与ID ...

  9. Spring学习笔记:第一个Spring Boot程序HelloWorld

    Spring学习笔记:第一个Spring Boot程序HelloWorld 一.跟着 Spring 了解技术趋势 1.看看 Spring 5.x 的改变暗示了什么 2.Spring Boot 和 Sp ...

最新文章

  1. leetcode:2680 Remove Duplicates from Sorted Array 删除数组中的重复元素
  2. 【Oracle 学习笔记】Day 2 视图、序列、同义词
  3. Java8 Lambda 表达式
  4. pyecharts第八节、雷达图
  5. 【TensorRT】将 PyTorch 转化为可部署的 TensorRT
  6. 图像傅里叶变换的幅度谱、相位谱以及双谱重构原图像
  7. java关键字值transient
  8. jq 两个对象合并_Python 标准库实践之合并字典组成的列表
  9. OBS-RTMP推流
  10. 2018美国大学计算机科学,美国大学计算机2018最新排名
  11. 世界超长经典名车荟萃
  12. php与drupal,什么是Drupal
  13. java愤怒的小鸟教学_JAVA课程设计——愤怒的小鸟(团队)
  14. Systemd Spec 宏
  15. windows防火墙开端口失败
  16. 42. 通俗易懂大数据实时计算Storm教程
  17. 电气专业c语言要学得非常好吗,电气自动化专业需要学C语言吗?
  18. PHP 调用浏览器下载文件
  19. 网络连通性以及网络不通解决办法
  20. 315,关于《C程序设计伴侣》一书致人民邮电出版社的公开信

热门文章

  1. maven3.5.0在win10中的安装及环境变量配置
  2. 《构建之法》8.9.10
  3. JavaScript编码规范[百度]
  4. NSIS 打包.net2.0
  5. SQL Server 求结果
  6. assembly x86(nasm)画三角形等图形的实现(升级版)
  7. iptables加载顺序问题及优化方法
  8. react使用 PropTypes 和 getDefaultProps()
  9. 添加sudo权限脚本
  10. 计算机等级考试二级vb大纲,2009年全国计算机等级考试二级VB大纲考纲