[JavaWeb基础] 002.JSP和SERVLET初级入门
上一篇中,我介绍了javaweb项目的创建和Tomcat的搭建和部署,接下来我们要在上一篇的基础上去讲解一下简单的jsp和servlet交互,做出一个简单的登陆功能页面。该例子主要讲解了从页面请求道后台处理,再分发到前台的一个简单流程。
1.我们需要有前端界面,格式为*.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% 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 'index.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> <style type="text/css"> body{text-align:center;} </style> <body> <form action = "Login" method = "post"> username:<input type="text" name = "username"/><br/><br/> userid:<input type="text" name = "userid"/><br/><br/> <input type="submit" value="提交"/> </form> </body> </html>
这个页面我们主要关注body里边的内容,也就是form标签以内的。form是个表单,配置的action是要对应WEB-INF下面web.xml里头配置的servlet名称,后面介绍,method有2中取值,一种是Get,一种就是post,为了数据安全,一般用post来提交表单。表单里面有 username和userid 2个输入框,name后面用来取值,注意输入。然后还有一个提交按钮,直接type=submit就能自动提交了。
2.有了前端页面了,那么前端提交请求要跳转到对应的配置的action,那么我们就要在WEB-INF下面的web.xml中进行配置。
这样我们就配置好了servlet,接下来我们就要开始逻辑书写,我们的servelt的包名是:com.babybus.sdteam.bo.LoginServlet,这个类必须继承HttpServlet,然后重写doPost和doGet方法,分别处理Get和Post的请求。
package com.babybus.sdteam.bo; import java.io.IOException; import javax.persistence.metamodel.SetAttribute; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class LoginServlet extends HttpServlet{ /** * */ private static final long serialVersionUID = 1L; public void doGet(HttpServletRequest req,HttpServletResponse rep) { try { process(req,rep); } catch (ServletException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public void doPost(HttpServletRequest req,HttpServletResponse rep) { try { process(req,rep); } catch (ServletException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } /** * 业务处理 * @param req * @param rep * @throws IOException * @throws ServletException */ public void process(HttpServletRequest req,HttpServletResponse rep) throws ServletException, IOException { // 根据页面上name获取相应的控件值 String username = req.getParameter("username"); String userid = req.getParameter("userid"); // 逻辑处理,设置相应的结果字符串 String resultstring = "用户名:"+username+" ID:" + userid; req.setAttribute("resultstring", resultstring); // 页面跳转 RequestDispatcher dispatcher = req.getRequestDispatcher("loginsuccess.jsp"); dispatcher.forward(req, rep); } }
这样的话我们的登陆就做好了。最后看看loginsuccess.jsp怎么显示数据!
<%=(String)request.getAttribute("resultstring")%>登陆成功
没错,就是这么简单。
结语
- 受益,学会了如何编写一个简单的JSP+SERVLET程序
本站文章为 宝宝巴士 SD.Team 原创,转载务必在明显处注明:(作者官方网站: 宝宝巴士 )
转载自【宝宝巴士SuperDo团队】 原文链接: http://www.cnblogs.com/superdo/p/4559684.html