用jsp+servlet写一个登陆界面
2015-06-30 22:32
856 查看
用jsp+servlet写一个登陆界面
第一步:先写一个jsp<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'Login.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <form action="/test/LoginServlet"> username:<input type="text" name="username"><br> password:<input type="password" name="password"><br> <input type="submit" value="submit"> <input type="reset" value="reset"> </form> </body> </html> <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'Login.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <form action="/test/LoginServlet"> username:<input type="text" name="username"><br> password:<input type="password" name="password"><br> <input type="submit" value="submit"> <input type="reset" value="reset"> </form> </body> </html>
再写一个class
package firstservlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class LoginServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String username=req.getParameter("username"); String password=req.getParameter("password"); resp.setContentType("text/html"); PrintWriter out=resp.getWriter(); out.println("<html><head><title>Login result</title></head>"); out.println("<body>username:"+username+"<br>"); out.println("password:"+password+"</body></html>"); out.flush(); } }
最后配置web.xml文件
<servlet> <servlet-name>LoginServlet</servlet-name> <servlet-class>firstservlet.LoginServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>LoginServlet</servlet-name> <url-pattern>/LoginServlet</url-pattern> </servlet-mapping>
原理
提交是向服务器端发送所填写的信息,现在使在jsp中填写的数据发送到servlet中。这里有两个问题,第一个:谁提交的?所以必须要给控件设置name,才能知道是哪一个控件传来的值,所以每一个控件后面都有name属性。第二个:提交给谁?我们假设我们会提交给一个叫LoginServlet来接收。所以我们新建一个类叫LoginServlet,该类继承httpServlet。重写doget方法,HttpServletRequest是一个请求对象。发送请求,请求服务器发送表单等信息。里面的getParameter方法返回一个字符串,后面跟的是控件的名字,就是在form表单当中设置的名字。控件的value就传给了该字符串。(也就是获得username中所填写的内容)
配置完xml文件之后,< form>为表单标签,后面的action为表单提交之后提交给谁!!!表示表单一点提交就会提交给/test/LoginServlet资源,就会给服务器发送这个请求,服务器收请求后就开始在xml文件里面寻找LoginServlet资源,实例化firstservlet.LoginServlet,执行firstservlet.LoginServlet的doget方法,获取用户输入的用户名和密码信息。
相关文章推荐
- JSP/PHP基于Ajax的分页功能实现
- 开发阶段Jetty运行Jsp报错且响应空白
- Apache Web让JSP“动”起来
- JSP 多条SQL语句同时执行的方法
- 在jsp页面中响应速度提高的7种方法分享
- (jsp/html)网页上嵌入播放器(常用播放器代码整理)
- JSP避免Form重复提交的三种方案
- jsp 标准标签库简析
- jsp 常用标签的使用
- JSP小知识简单介绍
- jsp页面中的代码执行加载顺序介绍
- jsp遍历文件夹下的文件的代码
- jsp fckeditor 上传中文图片乱码问题的解决方法
- JSP转发和重定向的区别分析
- jsp 连接sql server 2008 连接不上的解决方法
- jsp是什么文件 如何打开jsp格式的文件
- 五种 JSP页面跳转方法详解