----------重定向---------------------------------------------------------------------------------- //将工程重定向到我们的腾讯网页 response.sendRedirect("http://www.qq.com"); //重定向的好处:不但可以跳转到本工程的资源 也可以跳转到其它资源 response.sendRedirect("userInfo"); //重定向的跳转方式为get(如果下一个servlet中没有get方法 将出现异常) 注意事项:a标签和重定向差不多 通过a标签进行跳转时也是调用doGet()方法 //从地址栏上方进入网页也是调用的servlet的get方法 //在使用doGet()方法时还要做验证 看用户是否已经登录 -----转发--------------------------------------------------------------------------- request.setAttribute("un",userName) String userName=(String)response.getAttribute("un"); //但是由于请求资源传递不是连续的 它一次请求后寿命结束 为了延续它的寿命 在页面跳转时 我们不用重定向 我们使用转发 如下: //获得资源定位 然后将请求转发出去----首先将资源定位到list 然后将当前的request和response转发出去--转发 request.getRequestDispatcher("list").forward(request,response); //参数传递 J2EE1.4以下就是将引用直接拷贝过去 J2EE拷贝的是副本 //如果在doPost方法中写转发就会进入对方的doPost() 方法 包含转发的方法是什么方法就进入对方的什么方法 //转发的缺点:只能在本工程内转发 //转发和重定向是都是一瞬间就跳转到了要转发的页面 中间的内容基本没有时间显示 解决这个问题的方法如下: 包含转发 request.getRequestDispatcher("login.html").include(request.response); //就是将该页面所包含的所有的网页代码包含到我所要跳转的目的地去 【JSP与Servlet基础知识】 JSP (JavaServer Pages) 和 Servlet 是Java Web开发中的核心技术,它们主要用于构建动态网站。Servlet是Java编写的服务器端程序,主要功能是接收客户端请求并生成响应。JSP则是一种视图技术,它将HTML代码与Java代码结合,简化了动态内容的生成。 ### Servlet生命周期 Servlet的生命周期包括加载、实例化、初始化、服务、销毁五个阶段。当服务器接收到对Servlet的首次请求时,Servlet容器会加载并实例化Servlet,然后调用`init()`方法进行初始化。在服务阶段,每次请求都会调用`service()`方法,根据请求类型(GET、POST等)选择合适的`doGet()`或`doPost()`方法来处理。当服务器关闭或Servlet不再需要时,会调用`destroy()`方法进行清理。 ### HTTP协议 HTTP协议是互联网上应用最广泛的一种网络协议,用于定义客户端和服务器之间的通信格式。请求报文通常包含方法(GET、POST等)、请求URL、协议版本等。响应报文包含状态码(如200表示成功,404表示未找到等)、内容类型以及数据。 ### 请求和响应的字符集编码 在处理中文乱码问题时,可以通过设置响应头来设定字符集。例如,`response.setContentType("text/html; charset=UTF-8")`设置响应内容的字符集为UTF-8,`request.setCharacterEncoding("UTF-8")`设置请求参数的编码。 ### 获取请求参数 可以使用`request.getParameter("参数名")`来获取请求参数的值,例如`String str = request.getParameter("标签名称")`。 ### 刷新与重定向 - **刷新**:可以使用`<meta>`标签或`response.addHeader()`方法实现网页的定时刷新。例如,`<meta http-equiv="refresh" content="3;url='login.html'">`会在3秒后跳转到login.html页面。 - **重定向**:`response.sendRedirect()`方法用于重定向,它会改变URL并发送新的请求。重定向可以跳转到任何资源,但使用GET方式,如果目标Servlet没有GET方法,会导致异常。需要注意,重定向过程中,原始请求的信息不会传递到新URL。 ### 转发 转发与重定向不同,它不改变URL且只在同一个Web应用程序内部进行。使用`request.getRequestDispatcher().forward(request, response)`方法实现。转发时,请求参数和请求对象可以保留,适合于多个Servlet之间共享数据。 ### MVC模式 MVC(Model-View-Controller)模式是Web开发中常用的设计模式。在JSP和Servlet中,Model通常由JavaBeans或EJB实现,负责业务逻辑;View由JSP页面负责显示数据;Controller即Servlet,它接收请求,处理逻辑,并调用Model更新数据,最后决定转发到哪个View。 综上,JSP和Servlet是构建Web应用程序的重要工具,掌握它们的生命周期、HTTP协议交互、参数处理、页面跳转以及MVC模式,对于开发高效稳定的Web应用至关重要。在实际开发中,还需要注意编码规范和性能优化,以提供更好的用户体验。













- #完美解决问题
- #运行顺畅
- #内容详尽
- #全网独家
- #注释完整

- 粉丝: 0
- 资源: 2
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助



最新资源
- Java面经突击宝典详解.docx
- 内网通自定义积分版nwt-setup-3.3.2192
- Qt Xlsx 资源包与安装手册
- DBeaver Community DBeaver开源社区版,最好用的开源数据库管理工具之一
- ImgViewer.ashx
- SSM+mysql+jsp毕设项目(含论文)
- Termux+adb+autojs免root按键模拟.mp4
- swift-Swift资源
- matlab-Matlab资源
- YeZ-KookBot-机器人开发资源
- CoCache-Kotlin资源
- gitee毕设仓库论文仓库
- 剪映草稿批量操作神器+批量替换,批量导出,批量封面等20几种功能+快速剪辑,视频快剪
- modelcontextprotocol_kotlin-sdk-AI人工智能资源
- StudyRust-Rust资源
- workerman-硬件开发资源


