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` ...
随机推荐
- docker 公有仓库与私有仓库常见操作
本文为博主原创,转载请注明出处: 自建一个Docker仓库,可以使用Docker官方提供的开源项目Docker Registry.以下是一些基本步骤: 安装Docker Registry: 在服务器上 ...
- Dubbo的高级特性:服务管控篇
王有志,一个分享硬核Java技术的互金摸鱼侠 加入Java人的提桶跑路群:共同富裕的Java人 上一篇,我们已经介绍了 DUbbo 在服务治理方面提供的特性,今天我们一起来看看 Dubbo 在其它方面 ...
- 2023河南省ICPC大学生程序设计竞赛-wh
第一次出去比赛,首先感谢程老师选择我们新生更多的比赛机会,感谢! 在周六我们一起做了高铁出发取洛阳参加icpc河南省赛,不得不说洛阳师范学院确实环境很好看..在热身赛时,已经被泼了冷水,这C也太难了, ...
- pip install mysqlclient命令安装mysqlclient失败的解决办法
错误情况: 解决方法: 到这个地址下载自己版本对应的资源 https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient 如下图: 我这里首先下载了 ...
- shell 并发
#!/bin/bash # 设置并发数 thread_num=3 # 创建管道文件 FIFO=/tmp/$$-FIFO mkfifo $FIFO # 使用句柄打开管道文件 exec 1000<& ...
- Cilium系列-6-从地址伪装从IPtables切换为eBPF
系列文章 Cilium 系列文章 前言 将 Kubernetes 的 CNI 从其他组件切换为 Cilium, 已经可以有效地提升网络的性能. 但是通过对 Cilium 不同模式的切换/功能的启用, ...
- IDEA: 菜单栏消失的解决办法
解决方案 步骤一 双击shift输入View,点击第一个 步骤二如图所示 至此问题解决
- Programming abstractions in C阅读笔记: p118-p122
<Programming Abstractions In C>学习第49天,p118-p122,总结如下: 一.技术总结 1.随机数 (1)seed p119,"The init ...
- Vue【原创】千位符输入框(不仅只是过滤器哦)
最近和一个做金融的朋友讨论到千位符输入的问题,后来一想貌似自己项目中也会经常碰到金额数字这种输入框,要么自己做一个吧. 首先肯定要有一个正则表达式,也就是过滤器的方案里面常用的正则: 1 filter ...
- [超详细]SpringBoot整合WebSocket
1. 什么是WebSocket? WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议,它允许在浏览器和服务器之间进行实时的.双向的通信.相对于传统的基于请求和响应的 HTTP 协议, ...