servlet 3.0无需配置web.xml,使用注入方式配置servlet实现登陆功能(服务器需要支持servlet3.0)
2015-04-04 15:18
866 查看
首先申明上面的报错红叉,我也不知道怎么回事.总之能运行.
新建项目时选择java EE6.0,低版本没有servlet3.0.
先看一个基本示例.
Test.java是用来测试无需配置文件,无需静态页面(jsp,html)
直接访问servlet来从服务器上获取信息.
Test.java代码
package com.gys; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet( name="Test", urlPatterns={"/test"} ) public class Test extends HttpServlet{ @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); PrintWriter out=response.getWriter(); out.println("<h1>思思博士</h1>"); } }
访问结果:
看懂上面的name和urlpattern参数的,继续往下看.
servletConfigDemo.java代码
package com.gys; import java.io.IOException; import java.util.Enumeration; import javax.servlet.RequestDispatcher; import javax.servlet.ServletConfig; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.annotation.WebInitParam; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; @WebServlet( urlPatterns={"/servletConfigDemo.do"}, loadOnStartup=1, name="servletConfigDemo", displayName="demo", initParams={ @WebInitParam(name="success",value="success.html"), @WebInitParam(name="error",value="error.html") } ) public class servletConfigDemo extends HttpServlet{ @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ServletConfig config=getServletConfig(); //1.getInitParameter(name)方法 String success=config.getInitParameter("success"); String error=config.getInitParameter("error"); System.out.println("success-----"+success); System.out.println("errror------"+error); //2.getInitParameterNames方法 Enumeration enumeration=config.getInitParameterNames(); while(enumeration.hasMoreElements()){ String name=(String)enumeration.nextElement(); String value=config.getInitParameter(name); System.out.println("name-----"+name); System.out.println("value-----"+value); } //3getServletContext方法 ServletContext servletContext=config.getServletContext(); System.out.println("servletContext----"+servletContext); //4.getServletName方法 String servletName=config.getServletName(); System.out.println("servletName------"+servletName); request.setCharacterEncoding("UTF-8"); String userId=request.getParameter("userId"); String passwd=request.getParameter("passwd"); //判断 if(userId!=null&&"gys".equals(userId)&&passwd!=null&&"gys".equals(passwd)){ HttpSession session=request.getSession(); session.setAttribute("user", userId); //跳转 RequestDispatcher requestDispatcher=request.getRequestDispatcher(success); requestDispatcher.forward(request, response); } else { //跳转 RequestDispatcher requestDispatcher=request.getRequestDispatcher(error); requestDispatcher.forward(request, response); } } }
index.jsp
<%@ page language="java" import="java.util.*" contentType="text/html; charset=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>登陆</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="servletConfigDemo.do" method="post"> 用户名<input type="text" value="" name="userId" /><br/> 密码:<input type="password" name="passwd" /> <input type="submit" value="提交" /> </form> </body> </html>
实现登陆功能了
相关文章推荐
- Tomcat新特性:支持Servlet3.0注解定义,无需配置web.xml
- Tomcat7.0新特性:支持Servlet3.0注解定义,无需配置web.xml
- Tomcat7.0新特性:支持Servlet3.0注解定义,无需配置web.xml
- 在web.xml定义,在网页中使用变量实例 使用只有创建变量的servlet才可以访问的<init-param>方式 附带登陆和跳转实现
- JavaWeb学习总结(四十八)——模拟Servlet3.0使用注解的方式配置Servlet
- 在服务器上使用webscoket需要在nginx上增加支持配置
- 一个基于servlet 3.0的不使用web.xml配置文件的建议web项目demo
- spring与servlet3.0无web.xml文件时的配置方式
- tomcat7.0使用servlet处理jsp表单(form)的web.xml配置
- 内置对象config的使用,使用web.xml配置一个servlet对象,并为它取一个名字。
- 使用spring web.xml里的配置 - 请求处理器DispatcherServlet
- 3、WEB开发由浅入深系列BLOG-3(Servlet两种跳转方式,Servlet读取web.xml,Servlet配置)
- [Jersey]使用jersey实现RESTful web service 之 web.xml配置问题
- Android使用Gson解析JSON连接服务器实现客户端登陆功能
- JAVA_WEB项目之使用Spring的xml配置方式在项目中管理Lucene检索框架
- JAVA_WEB项目(结合Servlet+jsp+ckEditor编辑器+jquery easyui技术)实现新闻发布管理系统第二篇:登陆和注销功能实现
- 使用spring web.xml里的配置 - 请求处理器DispatcherServlet
- 工作组下,配置使用web方式修改文件服务器用户帐户密码
- 备忘:在web.xml中使用org.springframework.js.resource.ResourceServlet的配置对静态资源的访问