Servlet小结--松岛菜菜鸟
HTML学起来还是很容易上手的,直接上w3school有教程,这里就不再赘述了。
?
从Tomcat开始。
我的理解,Tomcat是一个容器,这容器里装载的有JSP页面和Servlet。Servlet是一个普通的Java程序,可它并没与main主函数,它是怎么运行的呢? 原来Tomcat也是一个轻量级的服务器,它可以用来处理HTML页面服务,所以Servlet可以直接在Tomcat上运行自己的程序。
Tomcat的下载和安装还是蛮容易的,网上大把的教程,同样没有再说的必要。值得一提的是环境变量的配置,需要新建一个JAVA_HOME变量,值设为Java安装的JDK目录下,并不需要指进bin目录,只需要在bin目录的上一级就可以了。
?

Tomcat装好后,就开始准备Servlet了。
(注意:装Tomcat前要先确认 eclipse的版本和插件。这个可以到help的about eclipse中看到,需要的开发插件是JavaEE和WTP。没有的话,可以到eclipse官方网站查找并下载安装。)

?
大堆大堆的东东全部准备好了后,我们就可以动手玩玩了。
?
打开eclipse,新建一个Servlet工程。建好后,发现eclipse已经为我们自动生成了许多的代码,这个可以仔细看看。我们可以发现一个doGet和一个doPost方法。这对应的是HTML中get和post两种发送请求的方法。这两种方法各有千秋,get灵活、轻快,post安全、信息存储量大,可它们都必须要在服务器的Servlet中以对应的方法接收。而无论是get or post 服务器Servlet都可以由service方法接收,所以,一般用service最好。
?
乱码问题:
这是个有技术含量的问题(主要是我今天被它纠结死了)!乱码主要是因为编码的不一致而导致的,而需要自己注意的编码设定有5点。
① 建立数据库的时候指定数据库的编码,如set names UTF8;
② 动态工程需要设定编码;
③自动生成的servers项目下,server.xml下加一条设定编码的代码。位置和方法如下:
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>
如果改变后发现乱码问题还没有解决,最好先clean一下。
④ 在Servlet中service方法中添加编码修改代码:
req.setCharacterEncoding("UTF-8");
resp.setCharacterEncoding("UTF-8");
⑤HTML页面编码修改。
?
3个Servlet转发效果:include、forward和Redirect
include:将URL中的内容包含到当前的Servlet输出中
forward:将req和resp交给指定的URL处理
Redirect: 将客户端地址栏改为URL值,不传req和resp。
?
cookie:
因为网页跳转,客户端与服务器端是一次连接立马就断开的,这样的好处是大大减少了服务器的负荷,坏处是服务器难以识别客户端,这时候就需要cookie了。
客户端第一次请求连接,将客户端的用户信息发送给服务器,服务器判断客户端的身份,验证成功后,生成一个sessionID,sessionID 保存着客户端的用户信息,返回客户端信息的时候,将sessionID一同返回给客户端,客户端接收并将其保存到本地,等到第二次客户端请求服务器的时候,就只需要将 sessionID发给服务器,服务器就会进行处理,识别是否是同一个用户。此 sessionID就是cookie。服务器保存 cookie 是有周期的,这个可以由服务器管理者自己设定,如果超出了 cookie的保存周期, cookie就会失效,也就是常说的超时。
?
?