实现页面数据 与 后端代码的数据 撮合 提交数据实现持久保存

12 篇文章 0 订阅

先创建一个前端页面,来输入数据并提交

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>发射导弹</title>
</head>
<body>
    <form action="/dao/daoServlet" method="get" autocomplete="off">
        执行者代号:<input type="text" name="username"> <br/>
        发射激活码:<input type="password" name="password"> <br/>
        目标:<input type="text" name="mubiao"> <br/>
        <button type="submit">发射</button>
    </form>
</body>
</html>

在 web.xml 文件里进行配置

<!--修改默认主页-->
<welcome-file-list>
    <welcome-file>/addDao.html</welcome-file>
</welcome-file-list>

<!--配置Servlet-->
<servlet>
    <servlet-name>daoServlet</servlet-name>
    <servlet-class>com.itheima.servlet.DaoServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>daoServlet</servlet-name>
    <url-pattern>/daoServlet</url-pattern>
</servlet-mapping>

Java后端代码

public class DaoServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //获取表单中的数据
        String username = req.getParameter("username");
        String age = req.getParameter("password");
        String score = req.getParameter("mubiao");

        //将数据保存到stu.txt文件中
        BufferedWriter bw = new BufferedWriter(new FileWriter("d:\\stu.txt",true));
        bw.write(username + "," + age + "," + score);
        bw.newLine();
        bw.close();

        //给浏览器回应
        PrintWriter pw = resp.getWriter();
        pw.println("Save Success~");
        pw.close();
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req,resp);
    }
}

详解:
form标签中 属性action 的值是 /dao/daoServlet
dao是端口 daoServlet 是 web.xml配置的映射路径
也就是 标签里的中的路径。通过映射路径找到对应的servlet配置,再找到servlet配置标签里的 中 的全类名,这样页面的数据就进入到后端具体的代码类中。

接下来:
属性method 是请求的类型 get.
autocomplete是自动补全的意思,=off 就是不进行自动补全

daoServlet类中
String username =req.getParameter(“username”);
req 表示 HttpServletRequest请求.
getParameter(“username”)中的参数 username,
是form标签----》input 标签里 name属性的值
String username = 是将页面的数据 赋值给 变量String username 以后就用这个变量名对页面赋值过来的数据做其他操作。这必须与页面数据的类型与名称保持一直,为的是方便区分页面的数据的用途、含义、性能。

然后通过后端 IO流操作 创建一个新文件,用输出流写到这个文件里保存,这就将页面输入的数据永久的保存在硬盘里。

最后通过 resp.getWriter(); 给浏览器发出响应
这里 resp.getWriter 得到的是 一个 PrintWriter 对象
用 PrintWriter对象 的 print()方法 写个响应的消息
PrintWriter pw = resp.getWriter();
pw.print(“save success”);
pw.close();
pw.close();是将这个响应流关闭

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

普希托夫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值