1. 程式人生 > >jsp中的表單form action指向servlet類

jsp中的表單form action指向servlet類

1.檔案

  

2.頁面聯絡

addStudent.jsp是學生資訊新增頁面,當資訊填寫完畢點選提交按鈕時,AddStudentServlet處理使用者請求,處理完畢後跳轉到message1.jsp頁面。

AddStudentServlet.java中程式碼為:

package ch01;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class AddStudentServlet extends HttpServlet{
  protected void doGet (HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
	  String studentNumber=request.getParameter("studentNumber");
	  String studentName=request.getParameter("studentName");
	  String studentSex=request.getParameter("studentSex");
	  String studentAge=request.getParameter("studentAge");
	  String studentWeight=request.getParameter("studentWeight");
	  DBJavaBean db=new DBJavaBean();
	  if(db.addStudent(studentNumber, studentName, studentSex, studentAge, studentWeight)){
		  response.sendRedirect("./code/myCode/studentManage/message1.jsp");
	  }
	  else{
		  response.sendRedirect("./code/myCode/studentManage/addStudent.jsp");
	  }
  }
  
  protected void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
	  doGet(request,response);
  }
}

在web.xml中對servlet進行配置:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>TomcatTest</display-name>
  <welcome-file-list>
    <welcome-file>stuAdmin.jsp</welcome-file>
    <welcome-file>left.jsp</welcome-file>
    <welcome-file>top.jsp</welcome-file>
    <welcome-file>bottom.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
        <servlet-name>AddStudentServlet
</servlet-name> <servlet-class>ch01.AddStudentServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>AddStudentServlet</servlet-name> <url-pattern>/AddStudentServlet</url-pattern> </servlet-mapping> </web-app>
  兩個servlet-name應相同,action裡的指向應與url-pattern內容中/後面的相同。因此jsp中的action="AddStudentServlet",但是會發生404錯誤:


是因為路徑不對,AddStudentServlet是放在java Resources中的ch01包中的,而不是在studentManage下的。所以應加上專案名action="/TomcatTest/AddStudentServlet"

在addStudent.jsp中程式碼為:

<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>學生資訊新增</title>
  </head>
  <body bgcolor="CCCFFF">
    <center>
      <br><br><br>
      <h3>  新增學生資訊</h3>
      <form action="/TomcatTest/AddStudentServlet" method="get">
        <table border="1" width="230">
          <tr>
            <td>學號:</td>
            <td><input type="text" name="studentNumber" /></td>
          </tr>
          <tr>
            <td>姓名:</td>
            <td><input type="text" name="studentName" /></td>
          </tr>
          <tr>
            <td>性別:</td>
            <td><input type="text" name="studentSex" /></td>
          </tr>
          <tr>
            <td>年齡:</td>
            <td><input type="text" name="studentAge" /></td>
          </tr>
          <tr>
            <td>體重:</td>
            <td><input type="text" name="studentWeight" /></td>
          </tr>
          
          <tr align="center">
            <td>
              <input type="submit" name="sure" value="提交" />   
              <input type="reset" name="clear" value="取消" />
            </td>
          </tr>
        </table>
      </form>
    </center>
  </body>
</html>