`
heimeiyingwang
  • 浏览: 94919 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Servlet资料辅导(4)

阅读更多


Servlet的url-pattern

url-pattern可以使用以下三种方式
1,确切路径匹配,也就是给出确定的路径 xxx/xxxx
2,模糊路径匹配,也就是指给出一部分路径,xxxx/*,他会匹配确定路径,也就是xxxx/a 或者是xxxx/b都是可以匹配的
3,扩展名匹配,也就是会匹配扩展名,只要是扩展名相同就匹配,xxx.xxx *.xx

注意:扩展名匹配和确切路径匹配不能放在一起使用,也就是不能写成 xxxx/xxxx/xxx.xx,但是可以用
*.xxx。

 

ServletRequest对象的三个返回路径的方法
getContextPath()获得应用的路径,用动态获取应用路径
getServletPath()获得Servlet路径,也就是form中的action,如果使用确切路径那么就会是这个Servlet配置的url-pattern。
getPathInfo()使用模糊路径匹配时会返回匹配模糊部分。

 

注意:在html的form表单的action中,如果使用了扩展名匹配,一定要写明/xxxxx/xxx.xx,不要写成/xxxx/*.xx,在form的action中要尽量使用绝对路径,也就是要用 应用名/xxx.xx或者应用名/xxx。

 

SingleThreadModel接口


1) 如果希望禁止多线程访问,可以让Servlet使用SingleThreadModel接口:       public class YourServlet extends HttpServlet implements SingleThreadModel{       ...       }2) 使用此接口,系统将保证不会存在多个请求线程同时访问Servlet的单个实例。但是仍然需要同步对存储在Servlet外部的类变量或共享字段的访问。3) 如Servlet频繁被访问,则Servlet访问的同步将严重影响性能(延时)。

ServletRequest对象的生命周期就是在service()方法中,除了forward(...,...)方法将这个请求对象转发给其他的Servlet。

 

Session(会话)和Cookie

Session对象用来解决客户端发送多个请求时来用户请求信息的存储问题,但是他和ServletRequest对象是不同的,他会在有需要时创建,但是他的生命周期会比请求对象要长。Session对象的生命周期也是有限制的,如果长时间的没有访问,就会销毁掉Session对象,可以通过Session对象的


setAttribute(String name, Object o) 和getAttribute(String name)来存取数据信息。Session是用户级的对象。

 

public void service(ServletRequest request,ServletResponse response){

 String user = request.getParameter("user");
        String pass = request.getParameter("pass");
 HttpSession session = request.getSession(true);//使用请求对象来创建Session
        session.setAttribute("username", user);
        session.setAttribute("passwd", pass);
}


getSession(true)就表示如果Session不存在就创建一个新的Session,并把Session的标识SessionID写到Cookie中,如果存在就是用这个Session。getSession(false)就是在Session不存在时不会创建新Session而是返回null。如果使用getSession()方法,就等同于getSession(true)。

 

注意:ServletRequest对象适用于传输大量的数据,因为其生命周期比较短,可以有效的节省内存资源。
大数据量的传输或保存不适合使用Session空间。

 

 

Cookie,是记录用户的Session信息,也可以记录用户的请求信息,也就是SessionID,来分辨哪一个用户是否登陆过。在每次登陆时,还会将Cookie发送回服务器端,Cookie是用来跟踪Session的。

 

public void service(ServletRequest request,ServletResponse response){

 

 String user = request.getParameter("user");
        String pass = request.getParameter("pass");
        Cookie userCookie = new Cookie("user", user);
        userCookie.setMaxAge(60 * 60 * 24 * 365);//设置Cookie的最大有效期,秒为单位
        Cookie passCookie = new Cookie("pass", pass);
        passCookie.setMaxAge(60 * 60 * 24 * 365);
        response.addCookie(userCookie);
        response.addCookie(passCookie);

}


HttpServletResponse类
HttpServletResponse是用来回应用户的操作的,它可以实现页面的重定向。


sendRedirect(String location),是用这个方法指定要访问的servlet,其参数是Servlet的url-pattern


如果使用了重定向,就不会保留原有的request对象。

分享到:
评论

相关推荐

    利用servlet技术实现一个简单的聊天室

    2. 在实验完成时需要向辅导教师报告,以记录实验成绩,实验成绩以百分制记录;实验不得抄袭,否则不记成绩。 提示: 1. 需要实现一个静态登录页面及一个servlet 2. 对于聊天信息的保存可能用到servletcontext 3. ...

    学生信息管理系统(JSP+Servlet)

    4. **会话管理**:为了保持用户状态,JSP和Servlet可以使用session对象存储用户信息,如登录状态、权限等。 5. **安全性**:对敏感数据如学生信息的加密处理,防止SQL注入攻击,以及采用HTTPS协议确保数据传输的...

    利用servlet实现一个简单的聊天室

    1. 利用servlet技术实现一个简单的聊天室,实现多人同时交流。当发送聊天信息时,信息窗口刷新。信息窗口显示发言人的姓名以及发言的内容。在进入聊天室之前需要进行登录,即输入用户名。 2. 在实验完成时需要向辅导...

    基于 jsp+servlet+jdbc 学生请假信息管理系统课程设计

    4.功能点描述: (1)学生 查看个人信息、查看个人的晚归记录、填写请假单、查看请假的审核情况 (2)宿管员(有待完善) 基础信息管理、查看个人信息 (3)辅导员 审核请假单、导出学生晚归记录、查看个人信息、查看...

    4.3javaEE_原生Servlet_SqlServer医院管理住院系统的研究与实现.zip

    - **项目辅导视频、论文等资料**:可能包含项目开发过程的教程、设计文档、相关论文等,帮助理解和学习项目。 - **数据库**:包含数据库脚本或已有的数据库文件,用于恢复和操作系统的数据环境。 - **源代码**:...

    jsp+servlet请假系统

    6. **权限控制**:根据用户角色(学生、班主任、辅导员、教务主任等)设定不同权限,防止越权操作。 综上所述,"JSP+Servlet学生请假系统"是一个典型的Web应用示例,涉及Web开发的基础技术、数据库操作、MVC设计...

    4.6javaEE_原生Servlet_MySql酒店管理系统的设计与实现.zip

    《基于JavaEE、原生Servlet和MySQL的酒店管理系统设计与...项目的"项目辅导视频"和"论文等资料"可以进一步深入学习各个模块的具体实现细节,而"源代码"则可供开发者参考和学习,"项目截图"展示了系统的实际运行效果。

    辅导答疑管理系统

    4. **Servlet和JSP**:作为Java Web开发的重要组成部分,Servlet用于处理HTTP请求,而JSP则用于生成动态网页内容。两者结合使用,可以实现前后端分离,提高程序的可读性和可维护性。 5. **Spring框架**:Spring是...

    2009年Java认证辅导资料

    Java认证是全球认可的Java程序员技能评估标准,2009年的Java认证辅导资料涵盖了当时最新的Java技术,旨在帮助考生顺利通过考试并提升其Java编程能力。这些资料可能包括了Oracle Certified Associate (OCA), Oracle ...

    基于JSP+Servlet+ Mysql的宿舍管理系统.zip

    4. 权限管理:设置不同角色(如管理员、辅导员等)的权限,确保数据安全。 5. 报表统计:生成各类统计报表,如空余床位、住宿率等。 【开发工具与环境】 开发过程中,可能使用了Eclipse或IntelliJ IDEA作为集成开发...

    基于javaEE+原生Servlet+MySql的村镇旅游网站设计与实现(源码+文档)-JAVAEE-Servlet-旅游网站

    资源名字:基于javaEE+原生Servlet+MySql的村镇旅游网站设计与实现(源码+文档)_JAVAEE_Servlet_旅游网站 资源类型:项目全套源码+文档+辅导视频 源码说明: 全部项目源码都是经过测试校正后百分百成功运行。 适合...

    5.0javaEE_原生Servlet_MySql塞北村镇旅游网站设计.zip

    - **项目辅导视频**:这部分资源可能包含教程或讲解视频,帮助学习者理解项目的实现过程和关键概念。 - **论文等资料**:可能包含项目的设计理念、技术选型的分析报告等。 - **数据库**:包含了项目所需的表结构...

    javaWeb基础技术辅导

    #### Servlet辅导 Servlet是一种Java技术,用于扩展服务器的功能,特别是处理HTTP请求和响应。它相当于服务器端的小应用程序,可以接收客户端发送的请求,执行相应的业务逻辑,并返回响应结果。Servlet生命周期包括...

    毕业设计,城市公交查询系统,内含毕业论文、毕业答辩PPT、数据库以及项目辅导视频,使用的技术有Servlet、JSP

    城市公交查询系统介绍 我国许多城市都有一些颇具设计感的公交站台,但我们却很难在这里找到我们出行需要的信息。...5.训练检索文献资料和利用文献资料的能力; 6.训练撰写技术文档与学位论文的能力。

    4.5javaEE_原生Servlet_MySql网络考试系统的设计与实现.zip

    项目辅导视频、论文等资料可以进一步指导开发过程,帮助理解和解决问题。数据库文件和源代码提供了具体实现细节,通过阅读和分析这些内容,可以深入学习到实际开发中的技巧和最佳实践。项目截图则能直观展示系统功能...

    基于JAVAWEB的辅导员考评管理系统.zip

    4. **用户界面**:用户界面通常包含登录、注册、辅导员信息管理、考评标准设置、考评结果查询等功能。JSP页面结合HTML、CSS和JavaScript来实现交互和样式设计。 5. **权限控制**:为了保证数据安全,系统会实现用户...

    javaEE_原生Servlet_MySql银行柜员业务绩效考核系统的设计与实现(源码+数据库sql+论文+视频齐全).zip

    4. **数据库设计**:系统中的数据库设计包括柜员表、业务类型表、业务量表和绩效考核规则表等,通过合理的ER模型设计,确保数据的一致性和完整性。 5. **业务绩效考核**:系统实现对柜员的业务量统计,包括不同类型...

Global site tag (gtag.js) - Google Analytics