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>


  • 5
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这里是一个简单的JSPServlet实现的表单保存Demo: index.jsp页面: ```jsp <!DOCTYPE html> <html> <head> <title>表单</title> </head> <body> <h1>表单</h1> <form action="save" method="post"> <label>姓名:</label> <input type="text" name="name"><br> <label>性别:</label> <input type="radio" name="gender" value="male">男 <input type="radio" name="gender" value="female">女<br> <label>年龄:</label> <input type="number" name="age"><br> <input type="submit" value="提交"> </form> </body> </html> ``` 这个页面包含一个表单表单的提交地址是`save`,其包含了姓名、性别和年龄三个字段。 SaveServlet.java: ```java package com.example; 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 SaveServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String name = request.getParameter("name"); String gender = request.getParameter("gender"); int age = Integer.parseInt(request.getParameter("age")); // 将数据保存到数据库或文件 // ... // 返回成功信息 response.getWriter().println("保存成功"); } } ``` 这是一个Servlet,它继承自HttpServlet,重写了doPost()方法。当表单提交时,表单数据会被封装到HttpServletRequest对象,通过request.getParameter()方法可以获取表单字段的值。在这个例子,我们获取了姓名、性别和年龄三个字段的值,然后可以将它们保存到数据库或文件。 需要注意的是,在实际的应用,我们应该将数据库操作放到DAO层,而不是直接在Servlet操作数据库。 在web.xml需要配置SaveServlet的映射关系: ```xml <servlet> <servlet-name>SaveServlet</servlet-name> <servlet-class>com.example.SaveServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>SaveServlet</servlet-name> <url-pattern>/save</url-pattern> </servlet-mapping> ``` 这个配置的意思是,当用户请求`/save`地址时,会将请求交给名为`SaveServlet`的Servlet进行处理。 这样,我们就完成了一个简单的表单保存Demo。当我们提交表单时,表单数据会被提交到SaveServlet,SaveServlet可以将数据保存到数据库或文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值