J2EE从servlet开始

对于初学j2ee的人来说,是非常困难的,因为我们要学的东西太多太多,这些技术点就像一盘散沙,总感觉学了忘,忘了学,我们要学html,css,js,sql,jsp,xml,当然,这些学起来是没有什么难度的,难的是在实际工作中得到应用,刚才我说的只是一些必须要掌握的技术点,那我们还要面对各种各样的开源流行框架,有些框架是必须掌握的,像,bootstrap,jquery,easyUI,ssh,spring MVC,MyBatis3等等吧,我们看到这些有时候脑袋都大了。那么我给大家的建议就是不要看这些框架,基础打好,从最基本的开始一点一点做起,说到这里,j2ee必须要从servlet和filter说起。

下面写一个最最简单的web项目。

在eclipse中创建一个dynamic web project,其目录结构:

125054_rcHz_2270118.png

非常简单,就两个java文件,一个servlet一个filter,然后在web.xml中做了一下配置,web.xml中的代码:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>HelloWorld</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
  </welcome-file-list>
  <servlet>
      <servlet-name>HellowordServlet</servlet-name>
      <servlet-class>com.gefufeng.web.HellowordServlet</servlet-class>
  </servlet>
  <servlet-mapping>
      <servlet-name>HellowordServlet</servlet-name>
      <url-pattern>/helloword</url-pattern>
  </servlet-mapping>
  
  <filter>
      <filter-name>HelloworldFilter</filter-name>
      <filter-class>com.gefufeng.filter.HelloWorldFilter</filter-class>    
  </filter>
  <filter-mapping>
      <filter-name>HelloworldFilter</filter-name>
      <url-pattern>/*</url-pattern>
  </filter-mapping>
</web-app>

servlet的配置说明当我门请求http://localhost:8080/HelloWorld/helloword 时映射到

  <servlet-mapping>
      <servlet-name>HellowordServlet</servlet-name>
      <url-pattern>/helloword</url-pattern>
  </servlet-mapping>

然后又找到了

  <servlet>
      <servlet-name>HellowordServlet</servlet-name>
      <servlet-class>com.gefufeng.web.HellowordServlet</servlet-class>
  </servlet>

最后执行HelloWorldServlet,看一下HelloWorldServlet里的代码:

package com.gefufeng.web;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;



public class HellowordServlet extends HttpServlet{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		// TODO Auto-generated method stub
		this.doPost(req, resp);
	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		resp.setCharacterEncoding("gbk");
		resp.getWriter().print("你好,世界");
	}
	

}

是不是非常简单,这里呢因为我要在页面上输出中文,改了下编码,然后项目添加到Tomcat中,运行,然后http://localhost:8080/HelloWorld/helloword 你会发现

131423_lgL4_2270118.png

然后在filter作为一个过滤器,代码为:

package com.gefufeng.filter;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;

public class HelloWorldFilter implements Filter{

	public void destroy() {
		// TODO Auto-generated method stub
		
	}

	public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
			throws IOException, ServletException {
		// TODO Auto-generated method stub
		HttpServletRequest htRequest = (HttpServletRequest) servletRequest;
		String path = htRequest.getServletPath();
		System.out.println(path);
		filterChain.doFilter(servletRequest, servletResponse);
		
	}

	public void init(FilterConfig arg0) throws ServletException {
		// TODO Auto-generated method stub
		
	}

}

这里我只是让他在控制台打印出了地址,然后继续运行。

好了,demo就这么简单,j2ee学习从这里开始吧。

源码链接http://www.oschina.net/code/snippet_2270118_54505


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值