JavaWeb学习--JavaBean与Servlet
2021/5/15 20:25:35
本文主要是介绍JavaWeb学习--JavaBean与Servlet,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录
- JavaBean
- 设计原则
- 动作元素
- useBeans
- setProperty
- getProperty
- 作用域
- forward
- param
- Model1
- Servlet
- Servlet容器等级
- Servlet生命周期
- Servlet与九大内置对象关系
- Servlet获取表单数据
- Servlet路径跳转
- MVC
JavaBean
Javabeans就是符合某种特定的规范的Java类。使用Javabeans的好处是解决代码重复编写,减少代码冗余,功能区分明确,提高了代码的维护性。
设计原则
- 公有类
- 无参构造方法
- 属性私有
- getter和setter方法
举例:
public class Users { private String account;//用户名 private String password;//密码 public Users(){} public void setAccount(String account) { this.account = account; } public void setPassword(String password) { this.password = password; } public String getAccount() { return account; } public String getPassword() { return password; } }
动作元素
JSP动作元素( action elements ),动作元素为请求处理阶段提供信息。动作元素遵循XML元素的语法,有一个包含元素名的开始标签,可以有属性、可选的内容、与开始标签匹配的结束标签。
存取JavaBean有关的:
- <*jsp:useBeans>
- <*jsp:setProperty>
- <*jsp:getProperty>
useBeans
作用:在jsp页面中实例化或者在指定范围内使用javabean :
格式:
<jsp:useBean id=“标识符(引用)” class=“类名” scope=“作用范围” />
setProperty
getProperty
作用域
说明∶使用useBeans的scope属性可以用来指定javabean的作用范围。
forward
语法:<jsp:forward page=“URL”/>
等同于request.getRequestDispatcher("/url").forward(request,response);
param
语法<jap:param name=“参数名” value=“参数值”>
常常与forward动作指令一起用作为子标签
Model1
Servlet
Servlet容器等级
一个context就是一个项目
Servlet生命周期
servlet生命周期阶段包括初始化、加载、实例化、服务和销毁。
- 1.init( ),当Servlet第一次被请求时,Servlet容器就会开始调用这个方法来初始化一个Servlet对象出来,但是这个方法在后续请求中不会在被Servlet容器调用。我们可以利用init( )方法来执行相应的初始化工作。调用这个方法时,Servlet容器会传入一个ServletConfig对象进来从而对Servlet对象进行初始化。
- 2.service( ),第一次请求时,Servlet容器会先调用init( )方法初始化一个Servlet对象出来,然后会调用它的service( )方法进行工作,但在后续的请求中,Servlet容器只会调用service方法了。
- 3.destory( ),当要销毁Servlet时,Servlet容器就会调用这个方法,在卸载应用程序或者关闭Servlet容器时,就会发生这种情况,一般在这个方法中会写一些清除代码。
我们自己编写的Servlet继承了HttpServlet类,一般只需覆盖doPost或者doGet方法,不必覆盖sevrvice( )方法.因为一个sevrvice( )方法会调用doPost或者doGet方法
Servlet与九大内置对象关系
Servlet获取表单数据
对于一个表单:
<form action="Login" method="post" class="login"> <p>login</p> <input type="text" name="account" placeholder="用户名"> <input type="password" name="password" placeholder="密码"> <input type="submit" class="btn" value="登录" align="center"> </form>
我们使用HttpServletRequest的方法获取表单数据
因为是客户端发送请求,使用request.getParameter(“name”)来获取
@Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=UTF-8"); response.setCharacterEncoding("utf-8"); String account = request.getParameter("account"); String password = request.getParameter("password"); System.out.println(account); System.out.println(password); }
这样一来就能够获得表单数据
==值得一提的是复选框提交的数据使用getParameterValues来获得,使用字符串数组来接收:
String []str = request.getParameterValues("name");
Servlet路径跳转
<!--使用相对路径访问HelloServlet --> <!-- /servlet/HelloServlet 第一个/表示服务器的根目录 --> <a href="servlet/HelloServlet">访问HelloServlet!</a><br> <!-- 使用绝对路径 访问HelloServlet,可以使用path变量:path变量表示项目的根目录--> <a href="<%=path%>/servlet/HelloServlet">访问HelloServlet!</a><br> <!--表单中action的URL地址写法,与超链接方式完全相同。 --> <a href="servlet/TestServlet">访问TestServlet,跳转到Test.jsp</a>
MVC
MVC模式即Model、View、Controller,是软件开发过程中比较流行的设计思想,旨在分离模型,控制,视图。是一种分层思想的体现。
- 视图(View):用户界面。
- 控制器(Controller):业务逻辑
- 模型(Model):数据保存
1、View 传送指令到 Controller
2、Controller 完成业务逻辑后,要求 Model 改变状态
3、Model 将新的数据发送到 View,用户得到反馈
所有通讯都是单向的
这篇关于JavaWeb学习--JavaBean与Servlet的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-28AI给的和自己写的Python代码,都无法改变输入框的内容,替换也不行
- 2024-09-27Sentinel配置限流资料:新手入门教程
- 2024-09-27Sentinel配置限流资料详解
- 2024-09-27Sentinel限流资料:新手入门教程
- 2024-09-26Sentinel限流资料入门详解
- 2024-09-26Springboot框架资料:初学者入门教程
- 2024-09-26Springboot框架资料详解:新手入门教程
- 2024-09-26Springboot企业级开发资料:新手入门指南
- 2024-09-26SpringBoot企业级开发资料新手指南
- 2024-09-26Springboot微服务资料入门教程