Jsp与servlet的数据传输

其实jsp的本质就是servlet,Jsp经过编译之后就成了servlet,但Java虚拟机并不能识别JSP代码,当浏览器请求JSP页面时,JSP引擎会首先去检查是否需要编译这个文件。如果这个文件没有被编译过,或者在上次编译后被更改过,则编译这个JSP文件。JSP擅长在于页面显示,servlet则擅长逻辑控制,类似于.NET MVC的Controllers。Jsp生命周期结束后就会销毁servlet实例。

JSP与SERVLET之间的传值有两种情况,JSP到servlet,servlet到JSP,通过对象request和session来传递。

JSP 到servlet示例:JSP的form表单传值

通过设置form表单的action请求路径和输入框的name值来传递,当点击新增按钮的时候就会获取到姓名和密码传到servlet

<form action="${ctx}/servlet/UserServlet" method="post"

>

    姓名<input type="text" name="username" id="username" class="username">

    密码<input type="text" name="password" id="password" class="password">

     <input type="submit" value="新增">

</form>

 

servlet代码示例,下面就是通过servlet来接收JSP传过来的数据

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

//通过request.getParamter(参数)方法来获取

//参数为JSP form表单所对应的name值

String username=request.getParameter("username");

String password=request.getParameter("password");

}

Servlet 到JSP:servlet代码示例

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

//通过request.setAttribute(参数,值)方法设置

request.setAttribute("username", "cxk");

request.setAttribute("password", "123");

//通过request.getRequestDispatcher("路径").forward(request, response)方法来把设置好的参数传到jsp去

 

request.getRequestDispatcher("/jsp/MyJsp.jsp").forward(request, response);

}

Jsp代码:通过el表达式来获取值,el表达式就是“${}”这样子,里面写对应的 参数就行

${username} <br>

${password}

  • 2
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值