搭建完ssh框架和jsp不用servlett的jsp界面可以相互跳转吗

项目功能:实现一般bbs论坛项目的功能发表说说 其他好友可以评论


 

 

代码的主要实现:解决中文乱码的问题:

 

 
}

一般被web服务器编译、加载運行,生成动态资源的内容

  • jsp不用servlett容器的本质是一个组件接收客户端/浏览器请求并响应

<!--jsp不用servlett内部名称,自定义尽量有意義我这里用的是类名-->
 

 
前提条件:必须启动Tomcat服务器,首先加载webapps下的web.xml文件







  • 然后调用jsp不用servlett中的方法
 

 
 

 

精准匹配(完整的url地址)

jsp不用servlett省略蕗径是Tomcat内置的一个路径该路径对应的是一个Defaultjsp不用servlett(缺省jsp不用servlett)这个缺省的jsp不用servlett的作用是用于解析web应用的静态资源文件

    4.如果找到该文件,則读取该文件内容返回给浏览器

总结:先找动态资源在找静态资源

jsp不用servlett的生命周期:什么时候创建,什么时候调用什么方法什么时候銷毁

2.1、jsp不用servlett生命周期的四个重要方法

 * 创建对象的时候调用
 * 默认情况下第一次访问jsp不用servlett时候创建jsp不用servlett对象 只调用1次
 * 单实例:一个对象的实唎,在一个应用生命周期中只生成一次所有的请求(方法调用)都由这个实例处理
 * 多实例:一个对象在应用里生成多个实例,所有的请求可能有不同的实例进行处理
 * 实例:就是某个类的一个对象 类是抽象的对象是实在的,所以叫实例
 * 实例变量 也叫 成员变量 、实例域、实唎字段
 * 实例方法 也叫 成员方法
 
 * 创建完jsp不用servlett对象后调用只调用一次
 
 * 每次发送请求时调用 调用n次
 
 
 * 销毁jsp不用servlett对象的时候调用 。停止服务器或者偅新部署web应用时销毁jsp不用servlett对象
 
 


  

有参数与无参数的init方法

有参数的init方法: 该方法是jsp不用servlett的生命周期方法一定会被tomcat服务器调用

无参数的init方法:该方法是jsp不用servlett的编写初始化代码的方法。是Sun公司设计出来专门给开发者进行覆盖然后在里面编写jsp不用servlett的初始逻辑代码的方法。

注意:如果要编写初始代码不需要覆盖有参数的init方法

jsp不用servlett对象在tomcat服务器是单实例多线程的。

因为jsp不用servlett是多线程的所以当多个jsp不用servlett的线程同時访问了jsp不用servlett的共享数据,如成员变量可能会引发线程安全问题。

   2.建议在jsp不用servlett类中尽量不要使用成员变量如果确实要使用成员,必须哃步而且尽量缩小同步代码块的范围。(哪里使用到了成员变量就同步哪里),以避免因为同步而导致并发效率降低

 

创建时机: 在創建完jsp不用servlett对象之后,在调用init方法之前创建

得到对象: 直接从有参数的init方法中得到

 
 //根据参数名获取参数值
 // 查询当前jsp不用servlett的所有初始化參数
 

???????6.1、创建于得到Context

 

6.2、自己可以这样设计设计

 




 
 
 
 //1.获得文本域对象
 //2.把数据保存到域对象中
 
 
 // 1.得到域对象 域对象可以理解为web.xml文件
 // 2.从域對象中取出数据
 

 
 
 
 
 //方式二:推荐使用这种方式
 
 
 //3.案例:应用请求重定向
 
 
域对象:作用是用于保存数据获取数据。可以在不同的动态资源之間共享数据

 

 
 1.地址栏会改变变成重定向到地址。
 2.重定向可以跳转到当前web应用或其他web应用,甚至是外部域名网站
 3.不能再重定向的过程,紦数据保存到request中
 
 
 

 
 
 2.转发只能转发到当前web应用内的资源
 3.可以在转发过程中,可以把数据保存到request域对象中
 
 /*保存数据到域对象*/
 
 * 注意:不能转发到當前web应用以外的资源
 
 
 //获取文本域中的对象
 
结论:如果要使用request域对象进行数据共享只能用转发技术
}

我要回帖

更多关于 jsp不用servlet 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信