servlet类的实现.(逻辑实现)

public class HelloWorldServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;


	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		
		PrintWriter out = resp.getWriter();
		out.println("<html><body>hello world!</body></html>");
		out.flush();
		out.close();
	}


	}

1 用于http的servlet编程都通过继承javax.servlet.http.HttpServlet实现



部署好class后,通过url地址即可向服务器发送请求。servlet得到请求(request)后,就会做出响应(response).



2 一般用于实现2个方法。doget,dopost


定义


protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {...}






3 HttpServletRequest类封装客户端一系列的请求,通过它可以从url,环境栈,session,application,cookie得到相应的变量进行操作(内容包括自定义信息,用户请求信息等等环境变量)。






1用法看这个,如果需要用到,最好总结出常用的。常用的 getParameter系列,通过参数,得到http提交过来的数据。


http://blog.163.com/peigen_peigen/blog/static/270478020082685131715/


//getParameter和getAttribute的区别。看最后一句话。


request.getAttribute()方法返回request范围内存在的对象,而request.getParameter()方法是获取http提交过来的数据。此外有setAttribute()方法。




-------需要对session进行操作,百度下。


http://baike.baidu.com/link?url=M8HoWF3lw9TD9NyPzFtpKWQYgJZ_z33NzBkcvb9vtIQPzWNo5Fdhzh8maX4lqmvDmui-lF-9z8cSewXekO8rmK









4 HttpServletResponse resp代表服务端的响应,对象封装了客户端一系列的响应。






1可以修改和添加三大存储器的状态和里面信息。可以发送信息给客户端。






2常用参数


PrintWriter out = resp.getWriter();
out.write("<html></html>");


response.setContentType("text/html");  设置内容类型,防止浏览器把服务端响应当成字符串处理


PrintWriter out = response.getWriter(); 得到输出流









下面是详细说明


WEB服务器回送给WEB客户端的HTTP响应消息分为三个部分:
(1)状态行
(2)响应消息头
(3)消息正文(也叫实体内容)


响应消息头的实用案例


Servlet的中文输出问题
让浏览器定时刷新网页
禁止浏览器缓存当前文档内容


2、  Servlet API中定义的ServletResponse接口类用于创建响应消息。
3、  HttpServletResponse是专用于HTTP协议的ServletResponse子接口,它用于封装HTTP响应消息。
4、  HttpServletResponse定义了一系列用于描述各种HTTP状态码的常量。
5、 在service()方法内部调用HttpServletResponse对象的各种方法来创建响应消息。
实现登录功能的逻辑如下: 1. 用户在前端页面输入用户名和密码,点击登录按钮发送请求到后端。 2. 后端Servlet接收到请求后,获取前端传来的用户名和密码。 3. 后端Servlet将获取到的用户名和密码与数据库中的数据进行比对,判断用户名和密码是否正确。 4. 如果用户名和密码正确,则将登录状态保存在Session中,并且重定向到登录成功的页面。 5. 如果用户名或密码错误,则显示登录失败的提示信息。 下面是一个简单的JSP和Servlet实现登录功能的例子: 1. login.jsp 页面 ``` <html> <head> <title>Login Page</title> </head> <body> <h1>Login</h1> <form action="loginServlet" method="post"> <label>Username:</label> <input type="text" name="username"><br> <label>Password:</label> <input type="password" name="password"><br> <input type="submit" value="Login"> </form> </body> </html> ``` 2. LoginServlet.java ``` import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class LoginServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username = request.getParameter("username"); String password = request.getParameter("password"); if (username.equals("admin") && password.equals("admin123")) { HttpSession session = request.getSession(); session.setAttribute("username", username); response.sendRedirect("success.jsp"); } else { response.sendRedirect("error.jsp"); } } } ``` 3. success.jsp 页面 ``` <html> <head> <title>Login Success</title> </head> <body> <h1>Welcome <%= session.getAttribute("username") %></h1> <a href="logoutServlet">Logout</a> </body> </html> ``` 4. error.jsp 页面 ``` <html> <head> <title>Login Error</title> </head> <body> <h1>Login failed!</h1> <a href="login.jsp">Try again</a> </body> </html> ``` 上面的例子是一个简单的JSP和Servlet实现登录功能的例子,仅供参考。实际开发中,还需要考虑一些安全性问题,比如防止SQL注入攻击等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值