- 一、servlet的继承结构
- 二、servlet的特点
- 1.高效
- 2.方便
- 3.可移植性好
- 4.功能强大
- 5.灵活性和拓展性
- 三、实例 *** 作判断长度为5的字符串
- 四、Web下的相对路径和绝对路径
- web 当中斜杆的作用
一、servlet的继承结构 二、servlet的特点 1.高效
在服务器上只有一个java虚拟机在运行,当servlet被客户端发送的第一个请求激活时,将在后台持续运行,等待以后的需求,每一个请求将生成一个线程而不是进程。
2.方便Servlet提供大量的实用工具例程,可以处理难以完成的HTML表单数据,读取和设置Http头信息,处理cookie,以及跟踪回话等 *** 作
3.可移植性好Servlet是由java编写的,java的跨平台开发不用质疑
4.功能强大目前还没感觉出来,主要是还没学会
5.灵活性和拓展性Servlet为一个java类,有java类的继承性,构造函数等特点
三、实例 *** 作判断长度为5的字符串servlet-- StringCheck类全面代码
package com.example.web5;
import java.awt.print.PrinterAbortException;
import java.io.*;
import javax.servlet.DispatcherType;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
@WebServlet("/string-check") //该servlet类的“门”
public class StringCheck extends HttpServlet {
private String message;
public void init() {
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
request.setCharacterEncoding("UTF-8"); //防止中文编码为乱码
String mystring = request.getParameter("mystring");
if(mystring.length()==5)
{
RequestDispatcher requestDispatcher = request.getRequestDispatcher("/index.jsp");
//得到index.jsp的相对路径
request.setAttribute("key1","字符串格式正确");
//用map映射将字符串和"key1"连接起来
requestDispatcher.forward(request,response);
//返回request请求
//out.println(type);
}
else if(mystring.length()>5)
{
RequestDispatcher requestDispatcher = request.getRequestDispatcher("/index.jsp");
request.setAttribute("key1","字符串太长了");
requestDispatcher.forward(request,response);
}
else if(mystring.length()==0)
{
RequestDispatcher requestDispatcher = request.getRequestDispatcher("/index.jsp");
request.setAttribute("key1","字符串为空哦");
requestDispatcher.forward(request,response);
}else
{
RequestDispatcher requestDispatcher = request.getRequestDispatcher("/index.jsp");
request.setAttribute("key1","字符串太短了");
requestDispatcher.forward(request,response);
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doPost(req, resp);
}
public void destroy() {
}
}
首页调用
<p><%=request.getAttribute("key1")%>p>
似乎感觉没什么用
但怎么说还是有一点封装的感觉,确实,首页嵌套java代码的话,几行就写完了 ,但是这样写,首页明显更整洁一些,以后也不能什么东西都往首页塞吧。
四、Web下的相对路径和绝对路径
相对路径
.
当前路径
..
上一级路径
绝对路径
http://ip:端口/工程项目名/资源名
浏览器当中被解析得到的是 http://ip:port/
<a href="/" > "/" 斜杠的跳转链接a>
服务器当中被解析 得到http://ip:port/工程项目
out.println("<h1>" + request.getServletContext().getRealPath("/") + "h1>");
//显示 “/”的真实物理路径 , 这里“/" 就是 http://ip:port/工程项目,
所以代码全意为显示 “http://ip:port/工程项目” 的真实物理路径
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)