学校网站建设成功,织梦网站图片代码,金山区网站建设,成品人和精品人的区别在哪里一、Web开发步骤
1.1两类模式
后端——————前端
先有前端#xff0c;前端用的时候直接调用
后端已实现注册接口#xff0c;接口名为doRegister.jsp
前端此时#xff1a; 前端的form表单中的action提交地址就只能填doRegister.jsp#xff0c;即#xff1a;
f…一、Web开发步骤
1.1两类模式
后端——————前端
先有前端前端用的时候直接调用
后端已实现注册接口接口名为doRegister.jsp
前端此时 前端的form表单中的action提交地址就只能填doRegister.jsp即
form classform-group actionservlet/doRegister.jsp methodpost/form
前端——————后端
先有前端需求后端去实现前端指定的请求接口
现在前端是index.jsp里面有一个注册的form表单但当前action未指定地址
所以要先指定action地址假如是servlet/doRegister.jsp
后端此时
先要创建一个servlet文件夹在servlet文件夹中写一个doRegister.jsp页面在doRegister.jsp页面中写注册的实现逻辑
1.2Web请求流程的角色分工
三层架构
表示层——依赖于——业务层——依赖于——数据访问层
表示层————业务层————数据访问层
MVC模式
视图层表示层————请求层————模型层业务层数据访问层
二合一结构
前端表示层————请求层————业务层————数据访问层
以注册功能为例
前端form只收集数据然后提交此时数据提交给了请求APIservlet比如request请求层servlet来解析API中保存的数据然后发给业务层业务逻辑层service调用dao层获取数据访问结果并对数据进行逻辑处理加工数据访问层dao编写SQL语句并解析结果
二、JSP内置对象
JSP内置对象是JSP容器为每个页面提供的Java对象开发者可以直接使用它们而不用显式声明。JSP所支持的九大内置对象 2.1 JSP内置对象request
主要用于处理客户端请求request对象中保存了用户的请求数据和浏览器的相关信息通过调用相关方法就可以实现请求数据的读取 2.2.1 request对象的常用方法 2.2.2 使用request对象获取注册信息代码演示
HTML部分代码 !-- 注册窗口 --div idregister classmodal fade tabindex-1div classmodal-dialogdiv classmodal-contentdiv classmodal-bodybutton classclose data-dismissmodalspantimes;/span/button/divdiv classmodal-titleh1 classtext-center注册/h1/divdiv classmodal-bodyform classform-group actionservlet/doRegister.jsp methodpostdiv classform-grouplabel foruserName用户名/labelinput iduserName nameuserName classform-control typetext required placeholder6-15位字母或数字/divdiv classform-grouplabel foruserPwd密码/labelinput iduserPwd nameuserPwd classform-control typepassword required placeholder至少6位字母或数字/divdiv classform-grouplabel forrepwd再次输入密码/labelinput idrepwd classform-control typepassword placeholder至少6位字母或数字/divdiv classform-grouplabel foremail邮箱/labelinput idemail nameemail classform-control typeemail required placeholder例如:123123.com/divdiv classtext-rightbutton classbtn btn-primary typesubmit保存/buttonbutton classbtn btn-danger data-dismissmodal取消/button/diva href data-togglemodal data-dismissmodal data-target#login已有账号点我登录/a/form/div/div/div/div
JSP代码
% page contentTypetext/html;charsetUTF-8 languagejava %%//小脚本根据//修改request的字符集编码request.setCharacterEncoding(UTF-8);//获取注册的用户名String userName request.getParameter(userName);//获取注册的密码String userPwd request.getParameter(userPwd);//获取注册的邮箱String email request.getParameter(email);System.out.print(用户名 userName \n 密码 userPwd \n 邮箱 email);
%
2.2 get与post的区别 2.3 JSP内置对象response
response对象用于响应客户请求并向客户端输出信息 2.3.1 response对象的常用方法 2.3.2 使用response实现登录验证并跳转到后台代码演示
HTML部分代码 !-- 登录窗口 --div idlogin classmodal fadediv classmodal-dialogdiv classmodal-contentdiv classmodal-bodybutton classclose data-dismissmodalspantimes;/span/button/divdiv classmodal-titleh1 classtext-center登录/h1/divdiv classmodal-bodyform classform-group actionservlet/doLogin.jsp methodpostdiv classform-grouplabel foruserName用户名/labelinput nameuserName classform-control typetext placeholder/divdiv classform-grouplabel foruserPwd密码/labelinput nameuserPwd classform-control typepassword placeholder/divdiv classtext-rightbutton classbtn btn-primary typesubmit登录/buttonbutton classbtn btn-danger data-dismissmodal取消/button/diva href data-togglemodal data-dismissmodal data-target#register还没有账号点我注册/a/form/div/div/div/div
JSP部分代码
% page contentTypetext/html;charsetUTF-8 languagejava %html
headtitle/title
/head
body
%//修改request和response的字符集编码request.setCharacterEncoding(UTF-8);response.setCharacterEncoding(UTF-8);//获取注册的用户名和密码String userName request.getParameter(userName);String userPwd request.getParameter(userPwd);if (admin.equals(userName) 123456.equals(userPwd)) {//登录成功使用绝对定位跳转到后台主页//重定向跳转//response.sendRedirect(request.getContextPath() /manage/index.jsp);//转发跳转request.getRequestDispatcher(/manage/index.jsp).forward(request,response);} else {//登录失败调回系统登录首页//这种写法也属于重定向跳转out.print(scriptalert(登录失败);location.href request.getContextPath() /index.jsp);out.flush();}
%
/body
/html
2.4 转发与重定向
张——冯——李
张找冯借500元 冯没有于是冯找李借500元 冯把500元返回给张 张找冯借500元 冯说我没有你找李 张找李借500元 李把500元返回给周
转发一次请求URL不变是服务端内部的资源交互转发过程中数据不会丢失重定向两次请求URL改变从客户端出发重定向后数据会丢失