简单的Servlet结合Jsp实现请求和响应以及对doGet和doPost的浅析

简单的Servlet结合Jsp实现请求和响应以及对doGet和doPost的浅析

大家好,又见面了,我是全栈君。

1、新建jsp,创建表单

<body>
<form action=”/MyfirstWeb/login”>

username:<input type=”text” name=”username”><br>
password:<input type=”password” name=”password”><br>

<input type=”submit” value=”submit”>&nbsp;&nbsp;&nbsp;
<input type=”reset” value=”reset”>

</form>
</body>

此处表单的action属性是重点,指定表单的提交方向。/MyfirstWeb/login是在客户端输入的逻辑路径。

2、创建Servlet

public class LoginServlet extends HttpServlet {

public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
  {

    String username=req.getParameter(“username”);
    String password=req.getParameter(“password”);

    resp.setContentType(“text/html”);

    PrintWriter out=resp.getWriter();
    out.println(“<html><head><title>LoginResult</title></head>”);
    out.println(“<body>username:”+username+”<br>”);
    out.println(“password:”+password+”</body></html>”);
    out.flush();
  }

}

3、配置Servlet

<servlet>
<servlet-name>login</servlet-name>
<servlet-class>com.qcx.web.LoginServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>

总结:在客服端访问jsp,提交表单,通过配置文件xml找到Servlet,服务器实例化该Servlet,并执行其doGet方法。此外在表单属性中,可以设置提交方式为method=doPost。在Servlet类中做相应修改,即可实现doPost方式提交请求。doGet和doPost的区别在于:

1、从表现形式上看,用doGet会在地址栏显示请求参数,而doPost不会。

2、本质上,是因为这两种方式对请求的封装方式不同,doGet将参数作为请求url的一部分直接提交,而doPost将请求参数作为请求体的一部分提交。

在用浏览器提交文件时一定要使用doPost方式。

转载于:https://www.cnblogs.com/qcxdoit/p/6042088.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/108798.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ubuntu pycharm2021.12 profession激活码【2021.10最新】

    (ubuntu pycharm2021.12 profession激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~F…

    2022年3月30日
    186
  • copy.deepcopy()_python 内存管理

    copy.deepcopy()_python 内存管理参考文章http://iaman.actor/blog/2016/04/17/copy-in-python**首先直接上结论:—–我们寻常意义的复制就是深复制,即将被复制对象完全再复制一遍作为独立的新个体单独存在。所以改变原有被复制对象不会对已经复制出来的新对象产生影响。—–而浅复制并不会产生一个独立的对象单独存在,他只是将原有的数据块打上一个新标签,所以当其中一个标签被…

    2022年10月3日
    1
  • Navicat premium15 激活码【2022免费激活】2022.03.10

    (Navicat premium15 激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~1M2OME2TZY-eyJsaWNlb…

    2022年4月2日
    2.0K
  • Java学习书籍推荐[通俗易懂]

    Java学习书籍推荐[通俗易懂]一、入门  《Java2从入门到精通》-推荐  《ThinkinginJava》-强烈推荐*  O’reilly的Java编程基础系列-参考*  二、进阶  《JavaCookBook》-非常推荐*(包含了Java编程的Tips,适合当做手册来查阅)  《O’reilly-JavaIO》-推荐*(包含JavaIO编程的各个方面)

    2022年6月19日
    30
  • pycharm2021专业版永久激活码【2021最新】

    (pycharm2021专业版永久激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月25日
    114
  • Linux——ps(列出进程)

    Linux——ps(列出进程)

    2021年8月30日
    92

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号