首页 > 学院 > 开发设计 > 正文

servlet 3.0无需配置web.xml,使用注入方式配置servlet实现登陆功能(服务器需要支持servlet3.0)

2019-11-14 23:38:11
字体:
来源:转载
供稿:网友
servlet 3.0无需配置web.xml,使用注入方式配置servlet实现登陆功能(服务器需要支持servlet3.0) Posted on 2015-04-04 15:18 思思博士 阅读(...) 评论(...) 编辑 收藏

首先申明上面的报错红叉,我也不知道怎么回事.总之能运行.

新建项目时选择java EE6.0,低版本没有servlet3.0.

先看一个基本示例.

Test.java是用来测试无需配置文件,无需静态页面(jsp,html)

直接访问servlet来从服务器上获取信息.

Test.java代码

 1 package com.gys; 2  3 import java.io.IOException; 4 import java.io.PRintWriter; 5  6 import javax.servlet.ServletException; 7 import javax.servlet.annotation.WebServlet; 8 import javax.servlet.http.HttpServlet; 9 import javax.servlet.http.HttpServletRequest;10 import javax.servlet.http.HttpServletResponse;11 12 @WebServlet(13             name="Test",14             urlPatterns={"/test"}15         )16 17 public class Test extends HttpServlet{18     @Override19     protected void doPost(HttpServletRequest req, HttpServletResponse resp)20             throws ServletException, IOException {21         doGet(req, resp);22     }23     24     @Override25     protected void doGet(HttpServletRequest request, HttpServletResponse response)26             throws ServletException, IOException {27         response.setContentType("text/html;charset=utf-8");28         PrintWriter out=response.getWriter();29         out.println("<h1>思思博士</h1>");30     }31 }

访问结果:

看懂上面的name和urlpattern参数的,继续往下看.

servletConfigDemo.java代码

 1 package com.gys; 2  3 import java.io.IOException; 4 import java.util.Enumeration; 5  6 import javax.servlet.RequestDispatcher; 7 import javax.servlet.ServletConfig; 8 import javax.servlet.ServletContext; 9 import javax.servlet.ServletException;10 import javax.servlet.annotation.WebInitParam;11 import javax.servlet.annotation.WebServlet;12 import javax.servlet.http.HttpServlet;13 import javax.servlet.http.HttpServletRequest;14 import javax.servlet.http.HttpServletResponse;15 import javax.servlet.http.Httpsession;16 17 @WebServlet(18         urlPatterns={"/servletConfigDemo.do"},19         loadOnStartup=1,20         name="servletConfigDemo",21         displayName="demo",22         initParams={23                 @WebInitParam(name="success",value="success.html"),24                 @WebInitParam(name="error",value="error.html")25         }26     )27 public class servletConfigDemo extends HttpServlet{28     @Override29     protected void doPost(HttpServletRequest request, HttpServletResponse response)30             throws ServletException, IOException {31         ServletConfig config=getServletConfig();32         //1.getInitParameter(name)方法33         String success=config.getInitParameter("success");34         String error=config.getInitParameter("error");35         36         System.out.println("success-----"+success);37         System.out.println("errror------"+error);38         39         //2.getInitParameterNames方法40         Enumeration enumeration=config.getInitParameterNames();41         while(enumeration.hasMoreElements()){42             String name=(String)enumeration.nextElement();43             String value=config.getInitParameter(name);44             System.out.println("name-----"+name);45             System.out.println("value-----"+value);46         }47         48         //3getServletContext方法49         ServletContext servletContext=config.getServletContext();50         System.out.println("servletContext----"+servletContext);51         52         //4.getServletName方法53         String servletName=config.getServletName();54         System.out.println("servletName------"+servletName);55         56         request.setCharacterEncoding("UTF-8");57         String userId=request.getParameter("userId");58         String passwd=request.getParameter("passwd");59         60         //判断61         if(userId!=null&&"gys".equals(userId)&&passwd!=null&&"gys".equals(passwd)){62             HttpSession session=request.getSession();63             session.setAttribute("user", userId);64             //跳转65             RequestDispatcher requestDispatcher=request.getRequestDispatcher(success);66             requestDispatcher.forward(request, response);67         }68         else {69             //跳转70             RequestDispatcher requestDispatcher=request.getRequestDispatcher(error);71             requestDispatcher.forward(request, response);72         }73         74     }75 }

index.jsp

 1 <%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%> 2 <% 3 String path = request.getContextPath(); 4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 5 %> 6  7 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 8 <html> 9   <head>10     <base href="<%=basePath%>">11     12     <title>登陆</title>13     <meta http-equiv="pragma" content="no-cache">14     <meta http-equiv="cache-control" content="no-cache">15     <meta http-equiv="expires" content="0">    16     <meta http-equiv="keyWords" content="keyword1,keyword2,keyword3">17     <meta http-equiv="description" content="This is my page">18     <!--19     <link rel="stylesheet" type="text/CSS" href="styles.css">20     -->21   </head>22   23   <body>24   <form action="servletConfigDemo.do" method="post">25        用户名<input type="text" value="" name="userId" /><br/>26        密码:<input type="password" name="passwd" />27        <input type="submit" value="提交" /> 28   </form>29    30   </body>31 </html>

实现登陆功能了


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表