javaweb不同用户登录不同页面的页面_Java Web轻松学36 - 第二个Servlet应用租房网(1)...
本系列文章旨在记录和总结自己在Java Web开发之路上的知识点、经验、问题和思考,希望能帮助更多(Java)码农和想成为(Java)码农的人。
目录
- 介绍
- 开发环境搭建
- 项目总体设计
- 登录页面login.html
- LoginServlet
- HouseServlet
- 中文乱码问题
介绍
还记得我们最早的第一个Servlet应用吗?它实在是有点low了。前面两篇文章我总结了一下自己对Servlet核心原理以及Servlet主要接口的心得体会,本篇文章就使用Servlet技术来做一个有实际意义一点的例子。
开发环境搭建
至于JDK、Eclipse、Tomcat的下载和安装,就不多说了。
然后是在Eclipse中新建Java Web工程以及配置Servlet API库等,可以参考这篇文章。
我比较关注租房中介这一个行业,就做一个租房网吧,项目名就叫house-renter吧。
新建好的工程如下图:
我们的Web应用的上下文根路径是默认的:house-renter。
项目总体设计
首先,租房网要有一个用户登录界面,这个界面对所有用户来说都是一样的,所以可以做成静态页面,我们就命名该页面为login.html吧。
然后,用户登录请求需要设计一个Servlet来专门处理,就命名该Servlet为LoginServlet吧(或许也可以叫UserServlet,抑或AccountServlet等等,随你喜欢了)。
用户登录之后,后台系统对该用户进行大数据分析画像、人工智能推荐(总之是采用各种高精尖的前沿技术啦,就这么一说,反正真正的系统是包含这些的,我们这就没有了)、精准匹配到该用户感兴趣的房源,把它们展现给该用户。于是需要一个房源列表页面,但该页面是动态的,即每个用户都有自己感兴趣的房源。所以,我们也需要设计一个Servlet来动态生成该页面,就命名该Servlet为HouseServlet吧。
该用户浏览自己感兴趣的房源列表,可以点击某房源,展示其详细信息,即我们要一个房源详细信息页面。暂时也让HouseServlet来动态生成吧,毕竟是跟房子有关的,以后觉得有问题再逐步优化。
最后,为了演示,我们在房源详细信息页面中增加一个编辑按钮,这样,后台维护人员可以编辑我们的房源详细信息。当然,这样的操作并不是所有用户都有权限执行的,所以需要用户的操作权限认证,不过,我们暂且不实现这个功能。这样,我们还需要房源详细信息的编辑页面以及编辑的提交请求需要处理,暂时也让HouseServlet来动态生成吧,毕竟还是跟房子有关。
然后,我们把房源信息保存在House这个实体类中,即我们需要:
- 静态页面:login.html
- Servlet:LoginServlet、HouseServlet
- 实体类:House
登录页面login.html
我们可以使用Eclipse的New工具建立HTML文件,这样高效很多,当然也可以建立空白文件然后手动敲所有代码。
租房网 - 登录
用户名:密码:
我是使用Eclipse的New工具生成HTML 5模板的文件,除了
标签和标签的内容作了修改,其他都没有变。
登录页面很简单,就是一个表单,关于HTML的基本知识,参考这篇文章。
将登录页面放在WebContent节点下,这样我们的Web应用可以直接访问到。需要关注的是这个表单提交的路径是login.servlet,这就意味着我们需要将LoginServlet配置成映射到的相对URL为“/login.servlet”。当然,现在我们这个LoginServlet还不存在,因此登录会出错。
在Eclipse中Publish该应用到Tomcat中,并启动Tomcat,然后使用浏览器访问:http://localhost:8080/house-renter/login.html
输入用户名和密码,或者不输入,直接点击登录,提示出错找不到/house-renter/login.servlet对应的展示:
LoginServlet
我们也可以使用Eclipse的New工具直接新建一个Servlet,我把无用的代码删除,并添加登录的业务逻辑之后是这样的:
package houserenter.servlet;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;@WebServlet("/login.servlet")public class LoginServlet extends HttpServlet {private static final long serialVersionUID = 1L;protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String userName = request.getParameter("userName");String password = request.getParameter("password");//这里需要验证用户是否已经注册,省略System.out.println("userName: " + userName +
javaweb不同用户登录不同页面的页面_Java Web轻松学36 - 第二个Servlet应用租房网(1)...相关推荐
- Java-web实现用户登录、注册功能
目录 环境搭建 数据库 用户登录 需求分析 代码实现 编写UserMapper类 编写User类 编写loginServlet类 编写login.html 编写login.css 用户注册 需求分析 ...
- JavaWeb学习——用户登录案例(13)
目录 用户登录 流程说明 准备环境 基本创建 编写静态页面 存放实体类 pom导入坐标 核心配置文件,映射文件与接口 编写用户登录功能 编写接口方法 修改页面与编写Servlet 接收数据 判断输入 ...
- javaweb——模拟用户登录和新闻发布
目录 模拟用户登录 1.登录界面: 注意点:验证码 2.对登录界面与数据库实现数据交互: 3.登录成功页面: 新闻发布 1.发布新闻页面 2.发布新闻数据和数据交互: 注意点:新增id 3.发布新闻成 ...
- 商城购物系统【用户登录注册,购物页面,购物车页面,订单页面】
商城购物系统 文章目录 商城购物系统 前言 一.使用Mysql数据库建立需要用的商品表,用户表 二.利用html+cs+js对前台进行设计 效果如下 2.对商品页与购物车页进行设计 总结 前言 这学期 ...
- java重定向链接页面变小_java web的进来看一下!页面重定向的异常!帮忙看一下!谢谢了!...
我用login.jsp进行登录留言板的管理页面用一个servlet进行身份验证.成功----->通过request.getRequestDispatcher("/admin/secur ...
- java wed登录面 代码_JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)...
下面通过通过图文并茂的方式给大家介绍JavaWeb实现用户登录注册功能实例代码,一起看看吧. 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBea ...
- javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册
一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...
- javaweb学习总结(二十二):基于Servlet+JSP+JavaBean开发模式的用户登录注册
一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...
- javaweb学习总结——基于Servlet+JSP+JavaBean开发模式的用户登录注册
一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...
最新文章
- python2 安装faiss-gpu 报错 faiss/faiss/python/swigfaiss.i:241: Error: Unable to find ‘faiss/impl/platfo
- Z-BlogPHP主题/名扬图文博客主题模板商业版
- Eclipse的详细安装步骤
- [Swift]LeetCode1017. 负二进制转换 | Convert to Base -2
- el表达式字符串与变量拼接
- java学习资料整理(开发必备)
- 如何做职业规划并进行求职准备(持续更新)
- 特效编辑器开发手记1——令人蛋疼菊紧的Cocos2d-x动态改变粒子数
- Axure 灯箱效果
- 健康体检管理系统源码 运营级PEIS系统源码 PEIS健康体检系统源码 PEIS源码 B/S架构开发
- 10 Kafka集群与运维
- 异常:java.lang.ArithmeticException
- hover效果移除时元素还原太生硬的情况
- 【Auto.js】QQ名片点赞
- 关于Pycharm主题Darcula下使用jupyter显示图片的颜色错误
- Abaqus接触分析--SurfaceBaseContact 法向切向接触行为
- 荧光标记系列Cy3/Cy5/Cy7/FITC荧光素标记石莼多糖/岩藻多糖/半乳岩藻多糖
- android开发使用SQLite之写日记
- Windows系统下解压.tar文件出错,提示:无法创建符号链接,可能需要以管理器身份运行winrar
- 【ftp】ftp服务器无法登录的解决办法
热门文章
- 引入方式之外部样式表(CSS、HTML)
- 天下谁人不识君:awt如何使用弹窗功能?
- JavaScript:原型设计模式
- 网络蛋白质组学在计算机中应用,Mumford Shah算法研究及其在拓扑蛋白质组学中的应用...
- Python全栈开发之Django基础
- Qt Project Build error PRJ0019: 工具从Moc'ing xxx.h...
- onCreate onStart onResume onStop onPause onDestroy onRestart onWindowFocusChanged
- Openstack api security testing tools
- Linux的用户和组群管理
- oracle范围分区表,Oracle表分区之范围分区-Oracle