1、session和cookie的区别和联系,session的生命周期,多个服务部署时session管理
答:区别和联系
1、session和cookie都是跟踪用户的整个会话
2、session是存放在服务器中,cookie不是很安全,cookie是放在客户端中,可以设置cookie的时间,将它保存在磁盘里。
3、SESSIONID会存放在cookie中,便于读取数据,若禁用cookie,则可以采取用URL重写来代替,仍然能够把session id传递回服务器
参考:http://www.cnblogs.com/shiyangxt/archive/2008/10/07/1305506.html
session的生命周期是
1. 服务器会把长时间没有活动的Session从服务器内存中清除,此时Session便失效。Tomcat中Session的默认失效时间为20分钟。
2. 调用Session的invalidate方法销毁session。
参考:http://www.cnblogs.com/binger/archive/2013/03/19/2970171.html
多个服务部署时的管理
每一个web应用程序都有唯一一个ServletContext实例对象,被该web应用下面的每一个servlet共享。通过修改tomcat的server.xml,使不同web应用的ServletContext可以互相访问。然后,用ServletContext的setAttribute()方法把session存入ServletContext中,在另一个web程序就可以用getAttribute()方法取得传递过来的session。
参考:http://www.cnblogs.com/jianyungsun/p/6566734.html
2、servlet的相关问题
答:一个servlet相当于一个类,创建一个servlet应用程序的不步骤是:继承HttpServlet(继承于GenericServlet)、重写doGet/doPost方法、在web.xml配置servlet。
servlet的生命周期是inti、service、destory。装载servlet有三种方式(应用程序启动,设置级别、用户请求、servlet被修改),servlet只被初始化一次,销毁实在服务器关闭,执行destory方法。
一个完整的项目流程流程是,tomcat加载应用程序,然后创建一个servletContext。servletContext,所有用户共用一个。当用户发送一个请求是,如果有servlet则直接调用1.接收用户发送的请求 2.调用其他的java程序来处理请求3.根据处理结果,返回给用户一个页面,总结就是(处理表单数据、处理业务逻辑、分发转向)
3、webservice的相关问题
答:参考http://www.cnblogs.com/Jessy/p/3528341.html
4、jdbc连接,forname方式的步骤,怎么申明使用一个事务
答:jdbc连接步骤:
1、注册驱动
2、获得连接
3、得到执行sql语句的statement
4、获得结果集
5、关闭资源
其中不建议使用class.fornamed的方式注册驱动,一般用DriverManager这个类的静态方法,Class.forName(xxx.xx.xx)有两个作用:返回的是一个类;或者要求JVM查找并加载指定的类,也就是说JVM会执行该类的静态代码段。
怎么申明使用一个事务
JDBC中事务默认自动提交,可以用调用setAutoCommit(false)来禁止自动提交。在sqpring中,可以直接在配置文件中配置,然后使用注解就可以了。
事务有四个特性:原子性、一致性、隔离性、持久性。其中重点说一下事务的隔离级别:脏读、不可重复读(update)、虚读(insert)
使用数据库设置隔离级别相对应:
ISOLATION_READ_UNCOMMITTED: 这是事务最低的隔离级别,它充许令外一 个事务可以看到这个事务未提交的数据。 这种隔离级别会产生脏读,不可重复读和幻像读。
ISOLATION_READ_COMMITTED: 保证一个事务修改的数据提交后才能被另外 一个事务读取。另外一个事务不能读取该事务未提交的数据。(oracle默认)
ISOLATION_REPEATABLE_READ: 这种事务隔离级别可以防止脏读,不可重复 读。但是可能出现幻像读。 它除了保证一个事务不能读取另一个事务未提交的数据外,还保证了避免下面的情况产生(不可重复读)。 (mysql默认)
ISOLATION_SERIALIZABLE 这是花费最高代价但是最可靠的事务隔离级别。事 务被处理为顺序执行。除了防止脏读,不可重复读外,还避免了幻像读
参考:
http://wenku.baidu.com/link?url=X7Bmo267lylsKg9jlzrNh40xTaSvRB2DN-1wGe9DI3Znv9jtU06497J7QE0CsW-jF8nkaQYgv0d6p4wJhmyc1jtMKHOh50eZj1J7oRqAJP3
5、无框架下配置web.xml的主要配置内容
<servlet>
<servlet-name>Hello</ servlet-name>//随便取
<servlet-name>test.Hello</servlet-name>包名加类名
</servlet>
<servlet-mapping>
<servlet-name>Hello</ servlet-name>//随便取,与上面的一致
<url-pattern>/test/hello</servlet></url-pattern>//填写jsp中的跳转地址,/代表服务器的根目录
</ servlet-mapping>
6、jsp和servlet的区别
答:参考http://blog.chinaunix.net/uid-26284395-id-3038122.html