初学java web的建议

不要过早接触框架,框架无非就是servlet和filter的产物(我的理解)

那就先从servlet和filter做起吧

servlet在前几篇我已经提过了

这里就大概提一下filter等其他的

定义filter类

内容如下

package demo;

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 HelloFilter implements Filter {

	@Override
	public void init(FilterConfig arg0) throws ServletException {
		System.out.println("Filter 初始化");
	}

	@Override
	public void doFilter(ServletRequest req, ServletResponse res,
			FilterChain chain) throws IOException, ServletException {
		HttpServletRequest request = (HttpServletRequest)req;
		System.out.println("拦截 URI="+request.getRequestURI());
		chain.doFilter(req, res);
	}

	@Override
	public void destroy() {
		System.out.println("Filter 结束");
	}
}

在web.xml中配置,这里要放在servlet配置前边

       <filter>
		<filter-name>helloFilter</filter-name>
		<filter-class>demo.HelloFilter</filter-class>
	</filter>

	<filter-mapping>
		<filter-name>helloFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

和servlet太类似了是不是(不过servlet继承,filter实现接口)

先filter在servlet


HttpServletRequest和HttpServletResponse两个接口最重要

请求 响应


Session

HTTP协议里没有关于Session回话的定义,Session是各种编程语言根据HTTP协议的无状态这种特点而产生的。其实无非就是服务器的一个哈希表,

哈希表的key就是传递给浏览器的名为jsessionid的cookie值

当需要将某个值保存到session中,容器会执行如下几步

1.获取jsessionid值,没有的话就生成一个,也就是request.getSession()这个方法

2.拿到HttpSession对象实例就相当于一个哈希表,你可以王哈希表里存放数据(setAttribute)

3.你也可以通过getAttribute来获取某个值

jsessionid的cookie在浏览器关闭时会自动删除。Cookie的MaxAge设置为-1就能达到效果。

这里很重要,某些面试就喜欢问(买了个表,这有什么好问的)(这也说明了session只存在与服务器端,cookie存在客户端)


关于jsp

jsp页面执行时都会编译一个servlet类文件,你可以看看(/work)会自动生成一个.java文件和一个编译后的.class文件

jsp适合做视图

servlet适合做控制层


具体代码我会打包发上去有需要下载

云盘代码包

http://pan.baidu.com/s/1o6JLY46



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值