當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JSP/Servlet Web 学习笔记 DayFour —— 实现一个简单的JSP/Servlet交互
生活随笔
收集整理的這篇文章主要介紹了
JSP/Servlet Web 学习笔记 DayFour —— 实现一个简单的JSP/Servlet交互
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
小實例說明:
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交互的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: symmetric-tree
- 下一篇: js 每隔四位加一个空格