• servlet(2)


    1、Tomcat在MyEclipse中集成

    ==> Window-preferences-MyEclipse-Servers-Tomcat-Tomcat 6.x-点击右侧的Browse,选择你的Tomcat安装目录(我的是D:Java omcat6),勾选Enable,在点击Apply 

    ==> 点击Tomcat 6.x下的JDK,在右侧jdk name下点击下拉箭头,选择你安装的jdk版本

    ==> 在Optional java JVM arguments下的输入框填入 -Xms128m -Xmx512m -XX:MaxPermSize=256m ,在点击Apply

    ==> 点击Tomcat 6.x下的Launch,勾选DeBug mode,在点击Apply,点击OK即可

    2、建立一个工程

    ==>New-Web Project-填写Project name(如:testServlet)-其他设置如下(更具实际版本填写)-Next-Next-勾选Generate web.xml deployment descriptor-Finish



    ==>在src目录中放java文件,WebRoot下有WEB-INF目录,WebRoot下有一个index.jsp文件(输出内容为This is my JSP page.),在WebRoot目录下新建文件夹css、images、js和.html .jsp文件,在WEB-INF目录下有一个lib文件夹(放jar包的)和一个web.xml文件(配置servlet的)

    3、书写代码

    ==>在src中建一个包com.smalle.servlet,在包中建一个HelloServlet.java(新建一个类)

    ==>让这个类继承HttpServlet(在HelloServlet后加上extends HttpServlet)-右键-Source-override/implements Methods-勾选HttpServlet中的doGet、doPost,和勾选GenericServlet里的destroy()、init()方法

    ==>在doGet中去掉super.doGet(req, resp);加上this.doPost(req, resp);(注:默认重写的方法调用的父类的doGet(),此时想把主要测试代码在doPost中执行,但是浏览器访问时,首先访问的是doGet方法,所以在doGet调用this.doPost,把代表请求和响应的req、resp对象传给函数)

    ==>设置响应内容的字符编码:resp.setContentType("text/html;charset=utf-8"); resp.setCharacterEncoding("utf-8");

    代码如下:

    package com.smalle.servlet;
    
    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 HelloServlet extends HttpServlet {
    	//==>继承HttpServlet==>重写HttpServlet中的方法==>web.xml:注册
    	private static final long serialVersionUID = 1L;
    	//处理HTTP GET请求
    	@Override
    	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
    			throws ServletException, IOException {
    		
    		this.doPost(req, resp);
    		
    	}
    
    	//处理HTTP POST请求
    	@Override
    	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
    			throws ServletException, IOException {
    		
    		//设置响应内容类型
    		resp.setContentType("text/html;charset=utf-8");
    		resp.setCharacterEncoding("utf-8");
    		
    		//从响应对象中获取打印流
    		PrintWriter out = resp.getWriter();
    		//往浏览器写入数据,out.println("")内容中可以输入html标签,浏览器会做出相应的显示
    		out.println("Hello Servlet!");
    	}
    
    	//销毁servlet实例对象的回调方法
    	@Override
    	public void destroy() {
    		super.destroy();
    	}
    
    	//初始化servlet的回调方法
    	@Override
    	public void init() throws ServletException {
    		super.init();
    	}
    }

    3、修改web.xml配置文件

    <!-- Web项目名,起注释作用,无实际意义 -->
    <display-name>testServlet</display-name>
      
    <!--注册HelloServlet -->
    <servlet>
    	<!-- 给servlet签名 -->
    	<servlet-name>helloServlet</servlet-name>
    	<!-- 指定要注册的Servlet,即对于src目录中的类 -->
    	<servlet-class>com.smalle.servlet.HelloServlet</servlet-class>
    </servlet>
    <!-- Servlet映射 -->
    <servlet-mapping>
    	<!-- 给Servlet签名 必须和某个Servlet的签名必须一致。 -->
    	<servlet-name>helloServlet</servlet-name>
    	<!-- 浏览器截获的请求地址,此处必须加/ -->
    	<url-pattern>/hello</url-pattern>
    </servlet-mapping>

    4、部署项目到容器,启动服务器

    ==>点击图标的第一个小图标-Project选择对应的Project name(testServlet)-Add-Server选择Tomcat 6.x-Finish-看到successful deployed就表示部署成功-OK

    ==>点击上面图标的第二个小图标下的下拉箭头-Tomcat 6.x-Start-等待Tomcat服务器启动完成

    5、访问项目

    ==>在浏览器中输入http://localhost:8080/testServlet/hello

    ==>回车出现This is my JSP page. 表示访问成功


    6、新建servlet法二:利用MyEclipse自带功能

    ==>src-右键-new-Servlet-Name填写HelloServlet,勾选doGet()、doPost()、init()、destroy()-Next-Finish

    7、笔记要点

    (1)资源文件:如静态html文件,js文件、图片、css文件(jsp文件不是)

    (2)资源文件必须放在WebRoot文件下或其子文件夹下,如新建一个子文件夹(images、css)

    (3)src中的.java文件编译后的.class文件在Apache6webappsWeb项目名WEB-INFclasses下

    (4)改了配置文件(如:web.xml)和改变了类(增加了类,修改了类的方法和属性)一定要重新部署项目

    (5)form表单中的action="请求的servlet路径(就是xml中的url-pattan)"

    (6)url-pattan需要加/ action=""中加/就是相对于WebRoot(即localhost),不加/就是相对路径(相对Web项目)

    (7)Web资源分为:静态Web资源(利用html既可以开发)、动态Web资源(利用servlet或jsp技术开发;jsp就是一个servlet,先弄懂servlet,jsp就很简单了)。

    (8)http://ip(127.0.0.1/localhost):端口(8080)/Web项目名/url-pattern

    (9)第一个Servlet程序的执行原理和过程

    Servlet程序的执行原理和过程


    您的资助是我最大的动力!
    金额随意, 欢迎来赏!

    文章出处:http://www.cnblogs.com/oldinaction/ (1)可关注微信公众号:【AEZO】获取更多信息 (2)微信公众号/小程序交流QQ群:303522792(验证码:cnblogs)。

    如果,想给予我更多的鼓励,求打

    因为,我的写作热情也离不开您的肯定支持,感谢您的阅读,【小易Smalle】!

  • 相关阅读:
    ES6中变量的解析赋值的用途
    ES6中的Set与Map数据结构
    cocos2d-js 序列帧动画
    cocos2d-x坐标系详解
    【javascript】函数中的this的四种绑定形式
    ECMAScript 定义类、对象
    JS中函数参数值传递和引用传递
    作用域
    List<Map>如何根据Map的特定key对应的value对List排序?
    SQL字符型字段按数字型字段排序实现方法
  • 原文地址:https://www.cnblogs.com/oldinaction/p/5167485.html
Copyright © 2020-2023  润新知