学习javaWeb开发-Servlet

来源:互联网 发布:目前最好的网络机顶盒 编辑:程序博客网 时间:2024/04/28 04:32

学习java的万里长征的第一步,就是岁数大了记性不好,学了Servlet之后赶紧写下来,省的学了之后又忘了。

个人感觉Servlet像是用户请求的处理中心,可以根据url有选择的接收用户请求并进行响应。下面来记录一下Servlet与url请求对应的具体配置,首先创建Dynamic Web Project 项目,记得勾选最后一步帮你生成web.xml文件的框框,不然等自己动手去创建就太2了!!!


接下来在src中创建Servlet类。创建一个Servlet类需要继承HttpServlet类,重要的需要重写的函数为doGet和doPost(get和post的区别为,get为显示传参,参数在url中为明文传递,最大为1k,适合传递简单参数;post为隐式传参,没有大小限制,且内传递容安全性高),当然以上那些事勾勾选选之后系统都帮你做好了。

<span style="font-size:14px;">import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * Servlet implementation class TestServlet *///@WebServlet("/nihao")public class TestServlet extends HttpServlet {private static final long serialVersionUID = 1L;           /**     * @see HttpServlet#HttpServlet()     */    public TestServlet() {        super();        // TODO Auto-generated constructor stub    }/** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.getWriter().write("this is the requst from hello");// 将信息显示在页面上。}/** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.getWriter().write("</span><span style="font-size: 14px; font-family: Arial, Helvetica, sans-serif;">this is the requst from hello</span><span style="font-size: 14px; font-family: Arial, Helvetica, sans-serif;">");// 将信息显示在页面上。</span><span style="font-size:14px;">}}</span>
上面值得注意的是注解@WebServlet("/nihao"),若当前服务跟目录为localhost:8080/TestServlet,则输入localhost:8080/TestServlet/nihao 则该url的请求会被TestServlet接收到,这是一个简化配置的方法,但是无法对应多个url请求。

接下来要干的事就是捣鼓web.xml了<servlet>
  

  <servlet-name>testServlet</servlet-name>    <servlet-class>mqy.std.TestServlet</servlet-class>  <servlet-mapping>    <servlet-name>testServlet</servlet-name>    <url-pattern>/hello</url-pattern>  </servlet-mapping>。

servlet在配置文件里分为两部分,第一部分类似于声明,就是new一个对象然后起个名字。servlet-name就是名字,servlet-name是类型,这里类型要写全名就ok了。

<servlet>    <servlet-name>testServlet</servlet-name>    <servlet-class>mqy.std.TestServlet</servlet-class></servlet>

第二部分就是指定servlet与具体url的映射关系啦,这里头servlet-name和就写你要对应的名字这个名字要和第一步里的一致。url-pattern是配置servlet接收url请求用的,可用通配符"*"配置。比如配置成“/hello”,localhost:8080/TestServlet/hello就会被响应。用"/*.do"的话,localhost:8080/TestServlet/下面所有以.do结尾的url都会被响应。用“/”的话所有请求都会被响应。这里配置成/hello,保存之后运行起来。

<servlet-mapping>    <servlet-name>testServlet</servlet-name>    <url-pattern>/hello</url-pattern>  </servlet-mapping>


这里可以有多个servlet和多个servlet-mapping,我手贱试了一下,发现一个servlet可以对应对个servlet-mapping,一个url-pattern只能有对应一个servlet否则会报错。

今天的内容就这么多了,给自己加油!



0 0