转自:https://blog.csdn.net/krystal_sl/article/details/52847953
新建一个项目的步骤
打开eclipse,右键点击new–>java project,会出现如下页面。填写一个Project name,比如我在这里填写的是java_demo。然后按finish一个项目就创建好了。
修改项目的编码为UTF-8,具体步骤是右键项目名,选择最下面的Properties选项,会弹出如下页面,点击左侧第一个Resource选项,会看到Text file coding,选择第二个other,选择UTF-8编码方式。这里说下为什么要选择UTF-8编码方式,因为我们以后开发中很多情况下会用到国外的文档和包,很多都是用UTF-8编写的,这样引用起来会编码一致。点击ok就设置好了
在项目里新建一个webapp1文件夹,右键项目名,选择new–>folder,如图所示, Folder name为webapp1,点击finish完成。
同样地在webapp1目录下建一个WEB-INF文件夹,之后在WEB-INF文件夹里建一个web.xml文件。建好之后应该是这样的结构:
这里web.xml配置文件暂且为空,之后我们再写入内容。 4.项目下新建一个lib文件夹,放置整个项目所用的jar包,包含了servlet所用的类,使编写的servlet代码可以编译。这些jar包可以从网上下载。
5.引用jar包,在项目properties左侧选项里的java bulid path里的libraries里Add JARS,把刚才lib里的包引,要按一下Apply再点OK。
6.接着刚才的步骤,在项目properties的java bullid path的source下设置classes目录,使编译形成的.class文件放到 java_demo/webapp1/WEB-INF/classes目录下。
7.写一个servlet。在项目的src目录下新建一个包com.rzy.web.servlet,这个包名的意思是:com代表公司,rzy是公司名,web.servlet代表是web应用的servlet。在包里放一个DemoServlet类和一个ResultServlet类。注意类名的命名规范,第一个字母要大写。建好之后的目录结构如下。
接下来我们先在DemoServlet类里写入处理方法。
所有Servlet类都要继承HttpServlet类,一般只要改写里面的doGet(),doPost()方法。
1 package com.rzy.web.servlet; 2 3 import java.io.IOException; 4 5 import javax.servlet.ServletException; 6 import javax.servlet.http.HttpServlet; 7 import javax.servlet.http.HttpServletRequest; 8 import javax.servlet.http.HttpServletResponse; 9 10 public class DemoServlet extends HttpServlet { 11 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 12 //这里是处理方法,表示当访问URI为webapp1/demo/demo时,转到demo.jsp文件显示 13 req.getRequestDispatcher("/demo/demo.jsp").forward(req,resp); 14 } 15 16 protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 17 //这里在doPost方法里调用doGet方法,目的是无论表单以get方式传递还是post方式传递,处理方法都一致。 18 doGet(req, resp); 19 } 20 21 }
接来下我们写ResultServlet类。方法跟DemoServlet大体一致,只是处理方法有所改变。
1 package com.rzy.web.servlet; 2 3 import java.io.IOException; 4 5 import javax.servlet.ServletException; 6 import javax.servlet.http.HttpServlet; 7 import javax.servlet.http.HttpServletRequest; 8 import javax.servlet.http.HttpServletResponse; 9 10 public class ResultServlet extends HttpServlet { 11 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 12 //通过name属性获取请求的参数 13 String name = req.getParameter("name"); 14 String pwd = req.getParameter("pwd"); 15 //通过setAttribute才能将获取的参数传递出去,转到jsp处理 16 req.setAttribute("name",name); 17 req.setAttribute("pwd", pwd); 18 //这里是处理方法,表示当访问URI为webapp1/demo/result时,转到result.jsp文件显示 19 req.getRequestDispatcher("/demo/result.jsp").forward(req,resp); 20 } 21 22 protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 23 doGet(req, resp); 24 } 25 26 }
8.接下来我们来在之前创建好的web.xml文件中写入配置内容。右键文件–>open with–>Text editor,写入如下内容,写好要记得Ctrl +S保存。
demoServlet com.rzy.web.servlet.DemoServlet
demoServlet /demo/demo
resultServlet com.rzy.web.servlet.ResultServlet
resultServlet /demo/result.
9.接下来我们在webapp1下创建一个demo文件夹,里面新建一个demo.jsp文件和一个result.jsp文件,结构如图:
这个demo.jsp文件里我们可以写一个模拟登陆的页面,代码如下:
<%@page pageEncoding="UTF-8" %>
用户名: 密码:result.jsp页面用来显示输入的用户名和密码,代码如下:
<%@page pageEncoding="UTF-8"%>
用户名:${name};
密码:${pwd};
10.最后就是将项目部署到w eblogic并显示了。
首先打开weblogic的启动文件。
之后就在浏览器登录weblogic控制台。登录之后点击左侧的“部署
点击安装
输入项目所在路径并且点击下面的单选框选中web应用
之后就点击下一步–>下一步–>完成,就完成部署了。
检查是否部署成功可以再次点击部署,如果看到ok则部署成功。
以下是一些注意点:
1.要让eclipse在运行时知道编译的文件所在位置,将编译文件放在WEB-INF\classes下就能识别到
2.eclipse编译所用第三方jar包放在libraries里
3.要让weblogic知道编译文件和jar包放在哪里。只要放在\classes目录下,weblogic就能自动识别到编译文件,\classes是weblogic默认的存放classpath的地址
4.Servlet编译所用jar包只要给eclipse识别使用就可以了,weblogic自带了这些jar包,不用让它识别,只要放在webapp目录下的lib里就可以。而其他的需要让weblogic识别的jar包,就需要放在WEB-INF下的lib文件夹里。
5.weblogic控制台要先启动才能使用。
6.项目做好后要部署后才能使用。
7.WEB-INF目录下的文件无法直接通过URL来访问,但是可以通过forward来访问。
8.URL访问过程:先去web.xml里去跟url-pattern匹配,如果匹配成功,直接转到相应servlet处理,如果没有匹配成功,则去文件系统匹配文件。