精华内容
下载资源
问答
  • 实例如下(本页面是JSP页面,虽然还没有学到JSP,但我觉得在用Servlet时用JSP已经不是什么难题,况且下面这个JSP是很简单):USERFORM.JSPcontentType="text/html;charset=gb2312"%>用户表单action="DoGet...

    Servlet中的doGet方法

    doGet方法:doGet方法用来处理客户端浏览器直接访问和表单get方式提交的表单。

    实例如下(本页面是JSP页面,虽然还没有学到JSP,但我觉得在用Servlet时用JSP已经不是什么

    难题,况且下面这个JSP是很简单的):USERFORM.JSP

    contentType="text/html;charset=gb2312"%>

    用户表单

    action="DoGetDemo" method="get">

    用户名:

    name="username"/>

    密码:

    name="password"/>

    value="提交"/>

    value="重置"/>

    OK,接下来相对应的Servlet代码如下:

    package com.javaweb.ch10;

    import java.io.IOException;

    import java.io.PrintWriter;

    import javax.servlet.ServletException;

    import javax.servlet.http.HttpServlet;

    import javax.servlet.http.HttpServletRequest;

    import javax.servlet.http.HttpServletResponse;

    public class DoGetDemo extends HttpServlet {

    public

    void doGet(HttpServletRequest request, HttpServletResponse

    response)

    throws ServletException, IOException {

    response.setContentType("text/html;charset=gb2312");

    PrintWriter out = response.getWriter();

    request.setCharacterEncoding("gb2312");

    String username = request.getParameter("username");

    String password = request.getParameter("password");

    out.println("");

    out.println("

    ");

    out.println("用户名:" + username +

    "
    ");

    out.println("密码:" + password);

    out.println("");

    out.println("");

    }

    }

    好了,现在我来解释一下上面代码的意思:

    第一个JSP文件是用于客户端向服务端提交表单的文件,这个JSP文件很简单,和一个HTML文件大同小异,我们虽然还没有学到JSP,但对如此简单的JSP应该还是会写的,本文件相对于一个HTML文件来讲只有第一行是新东西,第一行一看就知道是什么意思,它无非就是一个JSP的脚本指令,此脚本指令定义了本脚本的使用语言为java,脚本的编码类型及规范为text/html和GB2312,OK!到此为止其余的诸如表单一类的东西都是已经接触过的了,不用再多费口舌。

    第二个文件是一个Servlet类,这几天都在学这个东西,应该对他不会陌生,它用来处理客户端动态页面请求,因为客户端提交的请求是DoGetDemo,所以服务端必须要有此Servlet才能做出正确响应,否则客户端将抛出404错误,好了,接下来因为客户端是以get方式提交表单,所以服务端需要用doGet方法来处理这类请求信息,至于处理的过程及结果大家都能看懂,我就不多说了。

    另外说明一下,doGet方法只能用来处理get方式提交上来的表单,不能处理post方式提交的表单。

    展开全文
  • ServletdoGet方法

    千次阅读 2009-11-11 14:56:00
    doGet方法:doGet方法用来处理客户端... 实例如下(本页面是JSP页面,虽然还没有学到JSP,但我觉得在用Servlet时用JSP已经不是什么 难题,况且下面这个JSP是很简单):USERFORM.JSP 用户表单 用户名: 密码: 

     doGet方法:doGet方法用来处理客户端浏览器直接访问和表单get方式提交的表单。

      实例如下(本页面是JSP页面,虽然还没有学到JSP,但我觉得在用Servlet时用JSP已经不是什么

      难题,况且下面这个JSP是很简单的):USERFORM.JSP

    <%@ page language="java" contentType="text/html;charset=gb2312"%>

    <html>

    <head>

       <title>用户表单</title>

    </head>

    <body>

       <form action="DoGetDemo" method="get">

          用户名:<input type="text" name="username"/><br>

          密码:<input type="password" name="password"/><br>

          <input type="submit" value="提交"/>

          <input type="reset" value="重置"/>

       </form>

    </body>

    </html>

    OK,接下来相对应的Servlet代码如下:

    package com.javaweb.ch10;

    import java.io.IOException;

    import java.io.PrintWriter;

    import javax.servlet.ServletException;

    import javax.servlet.http.HttpServlet;

    import javax.servlet.http.HttpServletRequest;

    import javax.servlet.http.HttpServletResponse;

     

    public class DoGetDemo extends HttpServlet {

        public void doGet(HttpServletRequest request, HttpServletResponse response)

                         throws ServletException, IOException {

                  response.setContentType("text/html;charset=gb2312");

                  PrintWriter out = response.getWriter();

                  request.setCharacterEncoding("gb2312");

                  String username = request.getParameter("username");

                  String password = request.getParameter("password");

                  out.println("<html>");

                  out.println("<body>");

                  out.println("用户名:" + username + "<br>");

                  out.println("密码:" + password);

                  out.println("</body>");

                  out.println("</html>");

           }

    }

    好了,现在我来解释一下上面代码的意思:

      第一个JSP文件是用于客户端向服务端提交表单的文件,这个JSP文件很简单,和一个HTML文件大同小异,我们虽然还没有学到JSP,但对如此简单的JSP应该还是会写的,本文件相对于一个HTML文件来讲只有第一行是新东西,第一行一看就知道是什么意思,它无非就是一个JSP的脚本指令,此脚本指令定义了本脚本的使用语言为java,脚本的编码类型及规范为text/html和GB2312,OK!到此为止其余的诸如表单一类的东西都是已经接触过的了,不用再多费口舌。

      第二个文件是一个Servlet类,这几天都在学这个东西,应该对他不会陌生,它用来处理客户端动态页面请求,因为客户端提交的请求是DoGetDemo,所以服务端必须要有此Servlet才能做出正确响应,否则客户端将抛出404错误,好了,接下来因为客户端是以get方式提交表单,所以服务端需要用doGet方法来处理这类请求信息,至于处理的过程及结果大家都能看懂,我就不多说了。

    另外说明一下,doGet方法只能用来处理get方式提交上来的表单,不能处理post方式提交的表单。

    展开全文
  • form表单提交到servlet的两种方法

    万次阅读 多人点赞 2018-03-19 12:38:02
    第一种方法:1.... 创建一个名为LoginServlet的... 配置web.xml,这是最关键的一步 需要注意的是url-pattern这里写的是/login,而在jsp中form表单的action写的是login,而不是/login。第二种方法:1. 目前配置servl...

    第一种方法:

    1. 用于登录的jsp页面有一个form表单用于提交用户名和密码

    2. 创建一个名为LoginServlet的Servlet,下面是doGet与doPost部分

    3. 配置web.xml,这是最关键的一步

             需要注意的是url-pattern这里写的是/login,而在jsp中form表单的action写的是login,而不是/login。


    第二种方法:

    1. 目前配置servlet还有另一种更为简便的方法,那就是利用Java的annotation(Servlet3.0才有此注解方式):

    2. 创建一个名为LoginServlet的Servlet


          这里只需要form表单中的action与servlet中注解的路径一致即可,当然在form表单中的action中依然是没有/的


    form表单与Servlet之间的参数传送:

    index.html  

    [html] view plain copy
    1. <span style="font-size:14px;"><html>    
    2.     <head>    
    3.         <title>welcome</title>    
    4.     </head>    
    5.     <body>    
    6.     <form   name="myForm"   method="post"  <span style="color:#ff0000;">action</span>="myServlet/PassParams">    
    7.         <table border="1">    
    8.         <tr>    
    9.            <td>param1</td>    
    10.            <td><input name="<span style="color:#ff0000;">param1</span>"  type="text" /></td>           
    11.         </tr>    
    12.         <tr>    
    13.            <td>param2</td>    
    14.            <td><input name="<span style="color:#ff0000;">param2</span>"  type="text" /></td>    
    15.         </tr>    
    16.         <tr>    
    17.            <td>param3</td>    
    18.            <td><input name="<span style="color:#ff0000;">param3</span>"  type="text"/></td>    
    19.         </tr>    
    20.         <tr>    
    21.         <td> </td>    
    22.             <td><input type="<span style="color:#ff0000;">submit</span>value="mySubmit"/></td>    
    23.         </tr>    
    24.         </table>    
    25.     </form>    
    26.     </body>    
    27. </html>  </span>  
    1. package myServlet;  
    2. import java.io.IOException;  
    3. import javax.servlet.ServletException;  
    4. import javax.servlet.http.HttpServlet;  
    5. import javax.servlet.http.HttpServletRequest;  
    6. import javax.servlet.http.HttpServletResponse;    
    7. import java.io.PrintWriter;  
    8. public class PassParams extends HttpServlet {  
    9.     @Override  
    10.     protected void doGet(HttpServletRequest req, HttpServletResponse resp)  
    11.             throws ServletException, IOException {     
    12.         PrintWriter out = resp.getWriter();          
    13.         out.write("doGet\r\n");  
    14.         out.write(req.getParameter("param1"));  
    15.         out.write("\r\n");  
    16.         out.write(req.getParameter("param2"));  
    17.         out.write("\r\n");  
    18.         out.write(req.getParameter("param3"));  
    19.         out.write("\r\n");          
    20.     }   
    21.     @Override  
    22.     protected void doPost(HttpServletRequest req, HttpServletResponse resp)  
    23.             throws ServletException, IOException {  
    24.         // TODO Auto-generated method stub  
    25.         doGet(req,resp);  
    26.     }    
    27. }  
     html用post方式提交表单,然后PassParams接收参数,并处理:

           <form name="myForm"method="post" action="myServlet/PassParams">

             action这个参数表示

    action

    URL

    规定当提交表单时,向何处发送表单数据。

    method

    ·         get

    ·         post

    规定如何发送表单数据。

           <input name="param1" type="text"/>表示

       各种input的传递namevalue的情况,前提是,只要没有name属性,就不传递。

    name

    field_name

    定义 input 元素的名称。 

           Servlet中,req.getParameter("param1")这样就在Servlet中取得了参数param1的

            用post会比较多,不会在url上显示出表单的数据,而get会显示数据

    Web.xml里要加入:

    1. <servlet>  
    2.     <servlet-name>PassParams</servlet-name>  
    3.     <servlet-class>myServlet.PassParams</servlet-class>  
    4.   </servlet>  
    5.   <servlet-mapping>  
    6.     <servlet-name>PassParams</servlet-name>  
    7.     <url-pattern>/myServlet/PassParams</url-pattern>  
    8.   </servlet-mapping>
                其中<url-pattern>/myServlet/PassParams</url-pattern>表示访问这个Servlet的路径:

                 PassParams的dopost访问路径: http://localhost:8080/PassParams/myServlet/PassParams

              例:

                  http://localhost:8080/PassParams/index.html

     

                结果:

     

            

     copy

    1. <servlet>  
    2.     <servlet-name>PassParams</servlet-name>  
    3.     <servlet-class>myServlet.PassParams</servlet-class>  
    4.   </servlet>  
    5.   <servlet-mapping>  
    6.     <servlet-name>PassParams</servlet-name>  
    7.     <url-pattern>/myServlet/PassParams</url-pattern>  
    8.   </servlet-mapping>  
    展开全文
  • servlet 3.0上次完成文件下载功能使用的是 servlet 2.5,但是想要完成文件上传,那么继续使用 servlet 2.5肯定不是一个好的选择,因此我们使用servlet 3.0来完成文件上传。下面我来简单介绍一下 ser...

    servlet 实现文件上传

    所谓文件上传就是将本地的文件发送到服务器中保存。例如我们向百度网盘中上传本地的资源或者我们将写好的博客上传到服务器等等就是典型的文件上传。

    servlet 3.0

    上次完成文件下载功能使用的是 servlet 2.5,但是想要完成文件上传,那么继续使用 servlet 2.5肯定不是一个好的选择,因此我们使用servlet 3.0来完成文件上传。下面我来简单介绍一下 servlet 3.0 的新特性:

    1、新增的注解支持

    该版本新增了若干注解,用于简化 servlet、过滤器(filter)和监听器(listener)的声明,这使得 web.xml 部署描述文件从该版本开始不再是必选的了。

    2、httpservletrequest 对文件上传的支持

    此前,对于处理上传文件的操作一直是让开发者头疼的问题,因为 servlet 本身没有对此提供直接的支持,需要使用第三方框架来实现,而且使用起来也不够简单。如今这都成为了历史,servlet 3.0 已经提供了这个功能,而且使用也非常简单。

    servlet 3.0 的新特性当然肯定不止这些,但是其他的新特性在这里我们暂时还用不到,也就不做过多了解了。

    必要条件

    想要完成文件上传,肯定不是这么简单,它对浏览器端和服务器端都有许多的要求。

    对浏览器的要求:

    一个文件的大小一般肯定不止 1 kb,既然这样,那么要上传一个文件肯定不能使用 get 方式了,所以上传文件时必须采用 post方式。

    2.表单中必须有一个文件上传项 ,而且必须有 name 属性。

    必须设置表单的 enctype属性值为 multipart/form-data。

    对服务器的要求:

    当然,我们肯定得使用 servlet 3.0。

    servlet 3.0 中接收普通上传组件(除了文件上传组件)通过request.getparameter(string)接收,而文件上传组件通过request.getpart(string)接收。

    servlet 3.0 要求服务器必须是 tomcat7及其以上。

    准备工作

    工欲善其事,必先利其器。

    1、首先,打开 eclipse,新建一个dynamic web project。

    1002362J7-0.png

    2、键入项目名,选择运行时环境为 apache tomcat v7.0,选择 servlet 版本为 3.0,然后点击 finished。

    10023612L-1.jpg

    3、在项目的 webcontent目录下,新建一个文件夹 upload,用来存放上传过来的文件。

    10023B496-2.jpg

    4、在 webcontent目录下新建一个index.jsp。

    ?

    5、使用 tomcat将次项目发布,并在浏览器中预览。

    1002364631-3.jpg

    将服务器启动,然后在浏览器中输入:http://localhost:8080/upload。

    1002364Y9-4.jpg

    好吧!样子有点丑,希望不要介意!如果出现以上界面,那么,准备工作就完成了!

    完成案例

    首先,新建一个 servlet,在 servlet 3.0 我们不必再为配置 web.xml 而烦恼了,只要要在 servlet 的类名上面一行添加一个注解:

    ?

    这个注解就相当与 servlet 2.5 中的:

    ?

    这样比较,使用注解不是简便了很多。

    然后,我们还需要添加另一个注解:

    ?

    该注解主要是为了辅助 servlet 3.0 中 httpservletrequest 提供的对上传文件的支持。该注解标注在 servlet 上面,以表示该 servlet 希望处理的请求的 mime类型 是multipart/form-data。

    接下来,我们就需要根据上传组件的 name属性获取它了。这里我们使用 path request.getpart(string)方法。

    ?

    然后,我们就需要根据 part 获取头信息,然后根据头信息获取文件的路径。

    在浏览器抓包,获取头信息为:

    1002363D0-5.jpg

    据此,我们可以获取文件名或者文件路径。

    ?

    由于获取的有可能是文件名,也有可能是文件路径,为此,有必要编写一个工具类,用来获取文件的真实名称。

    ?

    然后,调用这个方法,获得文件名。

    ?

    接下来,我们有必要,给每个文件分配一个存放目录,因此我又编写了一个方法,用来生成一个目录。

    ?

    到此,万事俱备,只欠东风。我们只需要将文件拷贝到服务器。

    ?

    下面来测试一下:

    10023631G-6.jpg

    然后,在 tomcat的 webapps-> 项目名 -> upload中就可以找到上传成功的文件了!

    10023610N-7.jpg

    最后,我们打开音乐来试验下是否真的上传成功了?

    10023CR9-8.jpg

    嗯!薛之谦低沉的声音从耳机中传来,看来确实是上传成功了!

    完整代码

    uploadservlet.java

    ?

    uploadutils.java

    ?

    总结

    这样,文件上传案例就完成了,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

    原文链接:http://www.jianshu.com/p/1968019b6927#

    展开全文
  • Servlet中接收jsp传送过来表单,如果里面有中文字符, 中文字符就会出现乱码, 解决方法如下: 先查看 jsp中pageEncoding是否是...在ServletdoPost() 方法中添加下面两行代码: request.setCharacterEncodi...
  • 一、两种网上的方法,本人是想在说s2sh项目中加入xheditor(在线编辑器)功能,通过下面的两种方法发现不是action有问题,就是servlet有问题,因此不行。 但是毕竟这两种方法简单好理解,不放先试一下,说不定你...
  • 我们用spring依赖注入可以将dao注入到action中,然后我们就可以直接调用了dao中的方法了,可是servlet不是由spring容器管理,所以在servlet中不能注入dao类,也就不能用dao中的方法下面是实现方法: private ...
  • 无论是Servlet,Filter,还是Listener都不是Spring容器管理,因此我们都无法在这些类中直接使用Spring注解方式来注入我们需要对象,当然除了下面我们详细说的方法外,还有比如说为了在Servlet中使用Spring...
  • 前面介绍了如何在Action中获取Servlet的API对象,实际上这种方法是Action与Servlet的紧耦,不利于软件扩展,也不是Struts2推荐的方法,那么如何实现松耦合地获取Servlet的API呢?答案是ActionContext类。 下面...
  • servlet中调用注入spring管理dao

    千次阅读 2015-04-01 10:46:26
    我们用spring依赖注入可以将dao注入到action中,然后我们就可以直接调用了dao中的方法了,可是servlet不是由spring容器管理,所以在servlet中不能注入dao类,也就不能用dao中的方法下面是实现方法: ...
  • 但是网络上介绍FCK使用方法都在JS中进行配置,这种方法不足之处是JS兼容性不是很好。今天我给大家介绍使用servlet来配置FCKEditor,基于servlet 配置FCKEditor可以很好兼容不同浏览器。下面是配置步骤。...
  • 问题:  description The requested resource is not ...后来我百度了很多都没有解决,后来问了学长,才解决了这个问题,具体问题我不是很清楚,只是知道应该是项目Tomcat没有构建好项目,具体解决方法下面:
  • 这个类位于tomcat-embed这个jar下面,这里解决方法不是像网上大部分所说手动添加这个jar,因为这是由于没有添加spring-boot-starter-web依赖造成。 springboot项目默认会添加spring-boot-starter和spring-...
  • 分页 servlet

    2009-11-26 20:11:27
    知道分页大小之后,我们生成了页好选取下拉框,每次选择第几页时候,都会向Servlet传递当前选择页号参数,这样Servlet调用后面DAO相应的方法,取得文章列表信息,再回传到JSP以供显示。 ; charset=UTF-8...
  • java-servlet-api.doc

    2009-10-13 19:34:17
    在这种情况下,一个对getContext方法的调用会返回/bank的Servlet环境。 HTTP会话 HTTP是一个没有状态的协议。要建立一个有效的Web服务应用,你必须能够识别一个连续的来自远端的客户机的唯一的请求。随着时间的过去...
  • 这个类位于tomcat-embed这个jar下面,这里解决方法不是像网上大部分所说手动添加这个jar,因为这是由于没有添加spring-boot-starter-web依赖造成。 springboot项目默认会添加spring-boot...
  • 准确说我也不清楚问题所在,现象:web.xml下面配置的servlet都没有用(启动tom不会调用init方法,通过URL不能访问), 因为项目是在eclipse下面不是web项目,以前都是MyEclipse。在MyEclipse一切没有问题...
  • 引言 修改默认的Servlet模版 1找到MyEclipse安装目录下Commonplugins文件夹 2 在该文件夹下面搜索comgenuitececlipsewizards_900me201211011550jar ...6 修改Servlet模版中doGet和doPost方法把注释之类
  • 下面是这个数据库操作类通用方法,基本上能够用于类里面只含有简单数据类,例如类是Date,int,double,String等数据库里面包含类型。这个并不是一个模板,而是一个工具类,也就是说,符合只有简单数据类可以...
  • 使用Servlet实现动态文件下载

    千次阅读 2006-10-12 22:16:00
    实现动态文件内容下载:1.Servlet必须告诉浏览器其所输出内容类型不是普通文本文件或HTML文件,而是要保存到本地一个下载文件.下面程序中详细解说.2.需要通过HttpServletResponse.setHeader方法设置Content-...
  • 详细原因因为servlet和JSP不是Java平台JavaSE(标准版)一部分。而是Java EE(企业版)一部分,因此,必须告知编译器servlet的位置。解决方法下面三种: 第一,将apache-tomcat-7.0.55\lib\servlet-api....
  • Apache Tomcat是Java Servlet和Java Server Pages技术开源软件实现。可以使用OpenJDK tomcat运行你Java应用。Apache Tomcat安装方法大家都不是很清楚,下面小编给大家介绍下Ubuntu 16.04安装Apache Tomcat的方法
  • 分页技术在很多地方都有使用,几乎在超过30条数据需要显示页面,你不得不利用get方法对其进行分页,总不能一次性地在一个页面呈现给用户,而在JavaWeb中实现分页一点也不难,关键是处理好几个关键参数,下面举一个...
  • 下面是这个数据库操作类通用方法,基本上能够用于类里面只含有简单数据类,例如类是Date,int,double,String等数据库里面包含类型。 这个并不是一个模板,而是一个工具类,也就是说,符合只有简单数据类可以...
  • 下面是这个数据库操作类通用方法,基本上能够用于类里面只含有简单数据类,例如类是Date,int,double,String等数据库里面包含类型。这个并不是一个模板,而是一个工具类,也就是说,符合只有简单数据类可以...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 142
精华内容 56
关键字:

下面不是servlet方法的是