MVC(JSP+JavaBean+Servlet)入门实例:用户登陆验证
1 <html>
2 <body>
3 It is first JSP page!
4 </body>
5 </html>
1、login.html
//D:\Program Files (x86)\apache-tomcat-7.0.42-windows-x64\apache-tomcat-7.0.42\webapps\webDemo\mvc\login.html
1 <html>
2 <form action="/webDemo/login.do" method="post">
3 <div>
4 Name<input type="text" name="name"/><br/>
5 Password<input type="text" name="pas"/><br/>
6 <input type="submit" value="Login"/>
7 <input type="hidden" value="login" name="typeId"/>
8 </div>
9 </form>
10 </html>
注意:第2行,必须用全路径 /webDemo/login.do
2、LoginServlet.java
//D:\Program Files (x86)\apache-tomcat-7.0.42-windows-x64\apache-tomcat-7.0.42\webapps\webDemo\WEB-INF\src\mvctest\LoginServlet.java
1 // 建立MVC中的C(control),完成JSP+Servlet+JavaBean的开发模式
2
3 package mvctest;
4
5 import java.io.* ;
6 import java.util.* ;
7 import javax.servlet.* ;
8 import javax.servlet.http.* ;
9 //import org.lxh.factory.* ;
10 //import org.lxh.vo.* ;
11
12
13 public class LoginServlet extends HttpServlet {
14 public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException {
15 this.doPost(request,response) ;
16 }
17 public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException {
18 response.setContentType("text/html;charset=GB2312");//设置响应的MIME类型。
19 java.io.PrintWriter out = response.getWriter();
20
21 String type=request.getParameter("typeId");
22 if (type.trim().equals("login")) {
23 String name=request.getParameter("name");//获取视图里的name
24 String pas=request.getParameter("pas");//获取视图里的password
25
26 Model newModel=new Model();//调用 模型
27 newModel.setName(name);
28 newModel.setPas(pas);
29 String message = newModel.login();
30
31 String url="/webDemo/mvc/returnMessage.jsp?message="+message; //如下是把结果返回给视图
32 url=new String(url.getBytes("GBK"),"ISO8859_1");
33 response.sendRedirect(url);
34 }
35 }
36 };
3、Model.java
//D:\Program Files (x86)\apache-tomcat-7.0.42-windows-x64\apache-tomcat-7.0.42\webapps\webDemo\WEB-INF\src\mvctest\LoginServlet.java
1 /**
2 * 2013-11-16
3 * Model.java
4 * author:**
5 */
6 package mvctest;
7
8 public class Model {
9
10 private String name=null;
11 private String pas=null;
12
13 public void setName(String name) {
14 this.name=name;
15 }
16
17 public String getName() {
18 return name;
19 }
20
21 public void setPas(String pas) {
22 this.pas=pas;
23 }
24
25 public String getPas() {
26 return pas;
27 }
28
29 public String login() {
30 if ((name.trim().equals("admin"))&&(pas.trim().equals("1234"))) {
31 return "login successful";
32 }
33 else {
34 return "login failed";
35 }
36 }
37 }
4、编译Model.java、LoginServlet.java
注意1:编译报软件包javax.servlet不存在,http://liuxlyard.iteye.com/blog/582381
原因是:java编译器没有找到软件包javax.servlet,由于servlet和JSP不是Java平台Java SE(标准版)的一部分,而是Java EE(企业版)的一部分,因此,必须告知编译器servlet的位置。
注意2:Model.java和LoginServlet.java都在包mvctest中,且LoginServlet.java依赖Model,因此需要先编译Model.java,然后再编译LoginServlet.java
D:\Program Files (x86)\apache-tomcat-7.0.42-windows-x64\apache-tomcat-7.0.42\web
apps\webDemo\WEB-INF\src\mvctest>javac Model.java
D:\Program Files (x86)\apache-tomcat-7.0.42-windows-x64\apache-tomcat-7.0.42\web
apps\webDemo\WEB-INF\src>javac mvctest\LoginServlet.java //此处必须要这样才行
5、拷贝全路径class文件到D:\Program Files (x86)\apache-tomcat-7.0.42-windows-x64\apache-tomcat-7.0.42\webapps\webDemo\WEB-INF\classes
6、returnMessage.jsp
//D:\Program Files (x86)\apache-tomcat-7.0.42-windows-x64\apache-tomcat-7.0.42\webapps\webDemo\mvc\returnMessage.jsp
1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" import="java.sql.*"%>
2 <html>
3 <head>
4 <title>MVC(JSP+JavaBean+Servlet)入门实例--中国网页设计</title>
5 </head>
6
7 <body>
8 <%
9 String message=new String ( request.getParameter("message").getBytes("ISO8859-1"),"GBK" ); %>
10 <%=message %>
11 </body>
12 </html>
7、配置Servlet
(1)编辑好的Servlet源文件不能响应用户请求,还必须将其编译成class文件,并将编译后的文件及包放到WEB-INF/classes路径下
(2)为了能让Servlet响应用户请求,还必须将Servlet配置在Web应用中,即修改web.xml
1 <!-- 配置Servlet的名字 -->
2 <servlet>
3 <servlet-name>Login</servlet-name>
4 <servlet-class>mvctest.LoginServlet</servlet-class>
5 </servlet>
6 <!-- 配置Servlet的URL -->
7 <servlet-mapping>
8 <servlet-name>Login</servlet-name>
9 <url-pattern>/login.do</url-pattern>
10 </servlet-mapping>
注意第4行,需要加包名
四、验证
主要参考:http://blog.csdn.net/lyyybz/article/details/8782138#t1//数据库的操作还未实践
http://blog.csdn.net/gxiangzi/article/details/5504519
http://zhaoyuqiang.blog.51cto.com/6328846/1154733 //数据库的操作
MVC(JSP+JavaBean+Servlet)入门实例:用户登陆验证的更多相关文章
- JSP+JavaBean+Servlet工作原理实例…
JSP+JavaBean+Servlet工作原理实例讲解 首先,JavaBean和Servlet虽都是Java程序,但是是完全不同的两个概念.引用mz3226960提出的MVC的概念,即M-model ...
- JSP+JavaBean+Servlet技术(MVC模型)
一,Servlet开发用户在浏览器中输入一个网址并回车,浏览器会向服务器发送一个HTTP请求.服务器端程序接受这个请求,并对请求进行处理,然后发送一个回应.浏览器收到回应,再把回应的内容显示出来.这种 ...
- Struts与jsp+javabean+servlet区别
采用Struts框架技术和直接使用jsp+javabean技术开发各有什么优势?各自的缺点又是什么? 在Javaweb开发领域存在2种开发模式, 模式一,jsp+javabean 模式二,jsp+ja ...
- <jsp:javabean>动作标签实例
<jsp:javabean>动作标签实例 之后补齐基础知识 scope属性 该属性指定了所创建Bean实例的存取范围,省略该属性时的值为page.<jsp:useBean>标识 ...
- JavaWeb基础之Servlet简单实现用户登陆
学习javaweb遇到了一些坑,一些问题总结下来,记个笔记. 学习servlet遇到的一些坑: servlet实现用户登陆遇到的坑解决办法: https://www.cnblogs.com/swxj/ ...
- 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 ...
- 基于Servlet+JSP+JavaBean开发模式的用户登录注册
http://www.cnblogs.com/xdp-gacl/p/3902537.html 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBea ...
- javaweb(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册
一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...
- JSP + JavaBean + Servlet实现MVC设计模式
1.流程图: 2.代码清单 数据库脚本: DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `userid` ) NOT NULL, `name` ...
随机推荐
- while(1) ; CPU 会一直等下去吗
标题答疑 不会,计算机从外部设备读取数据到存储器,每读取1word的数据,CPU对外设状态进行一次检查. 可能有小伙伴看到这就要退出了,别急,看下去或许会有收获. 首先解决第一个问题:一个字是多少字节 ...
- 一个简单利用WebGL绘制频谱瀑布图示例
先看效果 还是比较节省性能的,这个还是包含了生成测试数据的性能,实际应用如果是直接通信获得数据应该还能少几毫秒吧! 准备工作 用了React,但是关系不大 WebGL的基础用法(推荐看一看掘金里的一个 ...
- win10右键添加打开cmd窗口的命令
创建文本文档,复制如下内容: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\b ...
- 数仓备份经验分享丨详解roach备份原理及问题处理套路
本文分享自华为云社区<GaussDB(DWS) 备份问题定位思路>,作者: yd_216390446. 前言 在数据库系统中,故障分为事务内部故障.系统故障.介质(磁盘)故障.对于事务内部 ...
- 前后端分离中台框架 Admin.Core 学习-介绍与配置说明
中台框架后端项目 Admin.Core 的介绍与配置说明 中台admin是前后端分离权限管理系统,Admin.Core为后端项目,基于.NET 7.0开发. 支持多租户.数据权限.动态 Api.任务调 ...
- [ABC305C] Snuke the Cookie Picker题解
题目大意 有一个 \(H\times W\) 的网格,一种有一个矩形,矩形中间有一个点被挖空,求这个点的坐标.(. 表示空白,# 表示矩形内的点) 解析 观察我们可以发现,每一矩形内的个点上下左右至少 ...
- Linux-源码安装软件
一.源码安装步骤 源码的安装一般由3个步骤组成:配置(configure).编译(make).安装(make install). 1.配置(configure) Configure是一个可执行脚本,它 ...
- Linux 内核音频数据传递主要流程 (下)
来而不往非礼也.前面看到了用户空间应用程序和 DMA buffer 之间交换数据,并更新 runtime->control->appl_ptr 指针的过程,这里看一下硬件设备驱动程序在完成 ...
- Vue【原创】基于elementui的【分组多选下拉框group-select】
效果图: 如图分为多选模式和单选模式. group-select: 1 <template> 2 <div> 3 <el-select 4 v-model="i ...
- 原来你是这样的JAVA[06]-反射
1.JVM为每个加载的class及interface创建了对应的Class实例来保存class及interface的所有信息: 获取一个class对应的Class实例后,就可以获取该class的所有信 ...