Servlet与JSP 之间的传值有两种情况:JSP -> Servlet, Servlet -> JSP。
通过对象 request和 session (不考虑 application)完成传值。
一、JSP -> servlet JSP页面有3种方法向 servlet传值: form表单、URL
复制代码 代码如下:
<!-- JSP page -->
...
<%......
session.setAttribute("testSession","Hello session");
reqeust.setAttribute("testRequest","Hello request");
%>
<a href="JspServlet?action=toServlet">点击</a>
<form action="JspServlet?action=toServlet" method="post" name="form">
<input name="username" type="test" />
<input type="submit" value="submit">
</form>
...
1、对于该JSP页面 form表单的内容,如 <input>标签,在 servlet可用 request.getParameter("username");获取。
2、URL:比如这里的 <a>标签的 href属性与 <form>标签的 action属性的值 "JspServlet?action=toServlet",在 servlet同样用 request.getParameter("action")获取;所要注意的是这里的 url 要和 servlet在web.xml里的 <url-pattern>标签的路径所对应。这部分后面会提到。
3、jav*段代码,servlet只能接到 session.setAttribute("testSession","Hello session")的内容,而接不到 request的内容。在 servlet里用 request.getSession().getAttribute("testSession")获取 session内容。
二、Servlet 1、关于 servlet,首先要提到它在 web.xml里的注册内容,如
复制代码 代码如下:
<servlet-name>JspServlet1</servlet-name>
<servlet-class>com.demo.JspServletDemo</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>JspServlet1</servlet-name>
<url-pattern>/JspServlet</url-pattern>
</servlet-mapping>
<servlet-name>JspServlet2</servlet-name>
<servlet-class>com.demo.JspServletDemo</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>JspServlet2</servlet-name>
<url-pattern>/admin/JspServlet</url-pattern>
</servlet-mapping>
假如 project name 是 jsp2servlet,则该 project根目录的 Context是 /jsp2servlet,在地址栏里显示是 http://localhost:8080/jsp2servlet/;
在 project 根目录下有 admin目录,对应的 Context是/admin/jsp2servlet,在地址栏里显示是 http://localhost:8080/jsp2servlet/admin,
在这两个目录下的 jsp 都想转到 com.demo.JspServletDemo类做处理,这时的 url需要在 web.xml注册两次。
1)在 http://localhost:8080/jsp2servlet/ 目录下的 jsp 页面 JspServlet1,url应写为 "JspServlet"
2)在 http://localhost:8080/jsp2servlet/admin/ 目录下的 jsp 页面访问 JspServlet2,url应写为 "admin/JspServlet"
2、在 servlet直接用 request对象,得到发送来的请求内容;用 request.getSession(),得到 session对象,从而得到会话内容。
这里的 request.getSession()的参数为 boolean 类型,该方法意思可理解为:
session可以认为是每一个IE进程对应一个会话(新开一个IE进程就可以对应两个会话的),getSession都是返回当前用户的会话对象,参数的区别在于:
参数为true (默认),则如果“当前用户的会话对象”为空(第一次访问时)则创建一个新的会话对象返回;
参数为false,则如果“当前用户的会话对象”为空,则返回 null (即不自动创建会话对象)。
利用这个方法可以判断 session是否过期,如下:
复制代码 代码如下:
if(request.getSession(false)==null)
System.out.println("Session has been invalidated!");
else
System.out.println("Session is active!");
三、Servlet -> JSP 从 servlet转到 jsp不外乎两种方法,重定向 和 url转发
1、重定向 ( Redirect):是路径的跳转,内容和 url都改变。不允许带 request参数( session参数可以),即不允许在 servlet里给 request对象使用setAttribute方法传给下一页面。在 servlet里使用 response.sendRedirect(url) 方法。注意这里的 url前不带斜线 /,如 response.sendRedirect(”test.jsp“)
2、url转发 ( Forward):是页面的跳转,页面内容发生改变,url不变。可以带 request和 session参数。在 servlet里使用 getServletConfig().getServletContext().getRequestDispatcher(url).forward(request, response)。而这里的 url前需要带斜线 /,如getServletConfig().getServletContext().getRequestDispatcher(”/test.jsp“).forward(request, response)
复制代码 代码如下:
String fr="good well";
request.setAttribute("test", fr);
RequestDispatcher de=request.getRequestDispatcher("/test.jsp");
de.forward(request, response);
相关推荐:
seo需要什么器械,seo需要什么器械才能做 ,长续航ai纯电汽车
怎么使用AI生成文章,轻松提升写作效率!
SEO监控:精准把握网站排名与优化成效的利器,湖南seo排名商家名单
SEO才能:提升网站排名,突破网络营销的核心竞争力,南宁本地seo营销公司
SEO学堂:开启数字营销新时代,全面提升网站排名与流量,文山ai营销推广方案
什么是SEO优化方案,seo的优化方案 ,ai emorobot
“赞片CMS”-让你的*站点管理更高效、便捷,日照seo平台
ChatGPT桌面版无法加载?快速解决方案及常见问题解析,ai媚眼
AI人工智能文章生成平台,释放创作无限可能
“曝光量扩大,助力品牌腾飞的秘密武器”,盐山网站优化免费咨询
seo,seoul city ,ai精洗
打破创作边界,无限可能无限制生成文章的AI
UCMS:引领智慧医疗新时代,打造数字化健康未来,推广工作谈营销
ChatGPT桌面应用安装了,不能用?解决方案全攻略,让你轻松畅享AI助手!,绫波丽ai智能
SEO优化要钱吗?揭秘SEO投资背后的价值与回报,ai领域
“收录量为1”,打造数字化时代的独特竞争力,网站建设页面制作流程
ChatGPT为什么打不开?背后原因与解决方案,慧ai写作
ChatGPT国内版:为中国用户量身定制的智能助手,开启AI新纪元,ai文章赚钱
SEO查:如何通过精准优化让网站流量飞速增长,吉林推广营销怎么样
SEO表述:如何通过精准优化让你的内容脱颖而出,江阴网站建设怎么样啊
AI网页生成:轻松构建智能网站,提升品牌竞争力,杭州专业ai智能教育
SEO结构优化:助力网站提升排名与流量的关键策略,杭州小网站推广哪家好做
SEO元素-提升网站排名的核心要素,推广分成网站有哪些
ChatGPT不能用了?了解这一背后的真相及解决方法,ai恐怖头像
SEO基础知识解析:如何提升网站排名,助力企业成长,毕节企业建设网站
SEO译为:网站排名背后的优化策略,会展中心网站优化
Zkept:重塑未来生活的智能科技革新,营销推广的面试问题
ChatGPT无法加载?检查您的网络设置并尝试重启,轻松解决连接问题!,ai制作艺术字
什么是seo方法,何为seo ,ai写作神器源码是什么
怎么用AI缩写文章,轻松提高效率的全新方法
ChatGPT最新版本更新内容:智能对话体验再升级,更多功能与应用,ai证伪
文章创作AI:引领智能写作的新时代
seo能解决什么问题,seo会遇到哪些问题 ,挚爱花嫁ai
SEO项目:如何通过精确优化提升企业网站排名与转化率,武汉做网站优化的公司
乘风SEO-引领企业互联网时代的腾飞之路,南昌b站关键词排名优化贵不贵
GPT在智能聊天机器人中的作用:重塑沟通体验,开创智能未来,百万级ai
二级泛站群,zblog二级泛站群 ,李宗盛ai
SEO客服:如何提升客户体验与业务转化的双赢策略,鄂州网站建设公司教程
SEO自行:提升网站流量的秘密武器,邹平县个人网站建设建议
SEO搜索关键词是什么意思?全方位解析关键词优化的核心要素,lol ai图片
AI网页效果生成:开启网站设计的新纪元,ai画线祥云
ChatGPT403:引领人工智能新时代,颠覆你的工作与生活方式,ai nak
实用AI工具:提升效率、优化生活的科技利器
什么是seo网络推广seo顾问,seo网络推广员 ,ai20170119
企业如何借助SEO咨询实现精准流量引爆,助力业绩提升,立刻推广的旅游线下营销
AI免费生成:释放创造力的秘密武器
从语言助手到智能生活伙伴,未来的智能助手如何改变我们的生活,网站建设分站公司
SEO小白必看!从零起步SEO的秘诀,轻松提升网站排名,南京网站运营优化平台
ChatGPT发生故障,背后隐藏着哪些不为人知的原因与挑战?,硬件ai和软件ai
AI代谢文章:从灵感到成果的创作革命